2013年10月4日 星期五

【職訓局-手機程式開發班】2013 10/04 網路基礎


傳檔案方式:同往段自己送 不同往段請Router送

1設定IP















電腦設定gateway
就是Router的ip 192.168.1.254

switch設定gateway
>enable
#config terminal
(config)#ip default-gatway 192.168.1.254

Router設定連到別的網域
>enable
#config terminal
(config)#ip route 10.1.1.0 255.255.255.0 172.16.1.2
(自己的網域+遮罩 對方的IP)

2.成功ping到對方電腦

2013年10月2日 星期三

【職訓局-手機程式開發班】2013 10/02 ObjC

1.IOS Alert 與 連結網址












連網址與法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://7311.tw"]];


2.potocol 與 categories













訊息快速寫法:

[[[UIAlertView alloc] initWithTitle:@"標題" message:@"你中大樂透" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];

3.不使用繼承有繼承效果 cmposite合成


















4.preprocessor前置處理

2013年9月27日 星期五

【職訓局-手機程式開發班】2013 9/26 Xcode

1.認證憑證及電腦





2.xib寫Helloworld




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.storyboard寫Helloworld



4.發布到手機

2013年9月24日 星期二

2013年9月23日 星期一

【職訓局-手機程式開發班】2013 9/23 java

1.StringBuffer 與 StringBuilder

字串需一直變動使用String每變動一次都會產生新的物件,
會浪費記憶體,這時就要用StringBuffer與StringBuiler,
StringBuiler不能使用在多執行序。

StringBuffer b = new StringBuffer("12345"); // 創立文字
b.append("6789"); // 加入文字
System.out.println(b);
b.delete(2, 4); // 刪除文字 (開始,結束)
System.out.println(b);
b.insert(3, "34"); // 增加文字 (開始,插入值)
System.out.println(b);
b.replace(1, 5, "二三四"); // 取代(開始,結束,值) 只會取代開始與結束中間的值
System.out.println(b);
b.reverse(); // 顛倒
System.out.println(b);
b.reverse(); // 顛倒
  
String a = new String(b);
String c = a.replaceAll("二三四", "234"); // 正規法取代
System.out.println(c);

執行結果:
1256789
125346789
1二三四6789
9876四三二1
12346789

2.規則表示法

例1:
String s = "123456789";
System.out.println(s.matches("[0-9]")); // false (只比對一位數 s="1"才會是true)
System.out.println(s.matches("[0-9]+")); // ture (+至少出現1次以上的數字)
System.out.println(s.matches("[0-9]*")); // ture (*0或多次)
System.out.println(s.matches("[0-9]{9}")); // ture (剛好出現9個)
System.out.println(s.matches("[0-9]{3,}")); // ture (3個以上)
System.out.println(s.matches("[0-9]{3,8}")); // false (3-8個)

String b = "123";
System.out.println(b.matches("1[^123]3")); // false (^是不包含)
System.out.println(b.matches("1[123]3")); // true
System.out.println(b.matches("1([123])+3")); // true ()為群組
// 手機號碼檢查 String b = "0935751111"; System.out.println(b.matches("0[0-9]{9}")); // true // Eamil String b = "leeeee@yahoo.com.tw"; String b = "leeeee@yahoo.com.tw"; System.out.println(b.matches("[A-Za-z_]{1}[A-Za-z1-9_\\.]*@[A-Za-z1-9_]{1}[A-Za-z1-9_\\.]*")); // true // 簡易身分證 String b = "C222990912"; System.out.println(b.matches("[A-Z]{1}[12]{1}[0-9]{8}")); // true

3.split (explode)

String a = "1,2,3,4,5";
String[] c = a.split(",");
for(String i:c){
 System.out.print(i); // 12345
}

2013年9月18日 星期三

【職訓局-手機程式開發班】2013 9/18 ObjC

1.函數前面為加號為靜態可直接使用不須init

例:

+ (float) PI{
    float pi = 3.14;
    return pi;
}

NSLog(@"%f",[Test PI]); // 這邊就可直接使用

2.全域變數使用

#import "Test.h"

int gTest = 5; // 宣告時前面要加個小g代表是全域變數

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        Test *T = [[Test alloc] init];
        
        NSLog(@"%f",[Test PI]);
        
        NSLog(@"%i",[T TestG:10]); // 列印出10
        
        
    }
    return 0;
}

Test.m
- (int) TestG:(int)val{
    extern int gTest;
    gTest = val;
    return gTest;
}

3.物件初始化

test.m

- (id) initR:(float)setR{
    self = [super init];
    if (self){
        self.r = setR;
    }
    return self;
}

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        //Test *T = [[Test alloc] init];
        
        Test *T = [[Test alloc] initR:20]; // 可以多個初始化
        
        //T.r = 10;
        
        NSLog(@"%f",[T area]);
        
        
    }
    return 0;
}

4.靜態變數static

static int count = 0;
- (int) getCount{
    return count;
}

main.m
NSLog(@"%i",[T getCount]); // return 1
NSLog(@"%i",[T getCount]); // return 2

2013年9月14日 星期六

【職訓局-手機程式開發班】2013 9/14 網路基礎

1.同網段可直接傳檔案,不同要由路由器傳








2.不同網域互傳
DATA
進入TCP UDP (TCP:可靠傳輸,UDP:不可靠)
會加入本機電腦的PORT跟對方的PORT加入
進入IP後會加入本機電腦跟對方的電腦