2012年8月4日 星期六

Java 使用工具加入建構值

滑數右鍵出現
source Generate Getters and Setters 就會自動建好了


Java 帶入無限個參數的fuction

public class MethodParameter {

 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println(getString(10,20));
  System.out.println(getString(10,20,"Hello"));
  System.out.println(getString(10,20,"Hello","World"));
  String [] sa = {"Hello","World"};
  System.out.println(getString(10,20,sa));
 }
 
        //...c帶入 string
 static String getString(int a,int b,String ...c){
  String toReturn = ""+a+","+b;
  for(String s : c)
   toReturn+=","+s;
  return toReturn;
 }

}

Java 算幾分鐘後的Class

 
public class MyTime {
 //final 靜態常數不會修改的
 public static final int HOURS_PER_DAY = 24;
 public static final int MINUTES_PER_HOUR = 60;
 
 private int mHour;
 private int mMinute;



public void setMytime(int inHour, int inMinute) {
  if( inHour < 0 && inHour >= HOURS_PER_DAY)
   return;
  
  if(inMinute < 0  && inMinute >= HOURS_PER_DAY)
   return;
  
  mHour = inHour;
  mMinute = inMinute;
 }


 public void passMinute(int inMinute) {  
  // (原本小時 + (分+傳入的分)/24小時的餘數)/24小時的餘數
  mHour = (mHour + (mMinute + inMinute) / MINUTES_PER_HOUR)
    % HOURS_PER_DAY;
  
  //(分+傳入的分)/60分的餘數
  mMinute = (mMinute + inMinute)%MINUTES_PER_HOUR;
 }


 public String toString() {  
  return (mHour >= 10 ? "": "0" )+ mHour + ":" + (mMinute >= 10 ? "" : "0") + mMinute;
 }

}
//呼叫方式
 
  MyTime mTime = new MyTime();
  mTime.setMytime(6, 30);
  System.out.println(mTime);
  mTime.setMytime(8, 50);
  System.out.println(mTime);
  mTime.passMinute(120);
  System.out.println(mTime.toString()); 
  

Java switch

int key = 71;
  switch (key) {
  case 1:
   System.out.println("等級1");
   break;
  case 2:
   System.out.println("等級2");
   break;
  case 3:
   System.out.println("等級3");
   break;
  case 4:
   System.out.println("等級4");
   break;
  case 5:
   System.out.println("等級5");
   break;
  default:
   System.out.println("等級不在範圍內");
   break;
  }
  

Java froeach

 
//對每個陣列v1 在a裡面
  for(int[] v1 : a){
   //對每個整立v 在v1裡面
   for(int v : v1){
    System.out.print(v +","); 
   }
  } 


for(型態:陣列){
}

2012年7月28日 星期六

Android Package Explorer視窗不見了怎麼辦

最常用的就是Package Explorer
如果不見了怎麼辦,如下圖Show View然後可選擇

Android 常用快捷鍵

  
F3 會跳到自定義的function或類別
ctrl + / 會自動註解 或取消註解
alt + / 會提示字如果沒有.時可以用
ctrl + shift + f 會格示化文字看起來比較整齊
ctrl + shift + o 會自動import類別
ps Eclipse都適用

Andorid 專案結構及命名說明

Java寫東西都有固定的寫法
專案名稱都用駝峰字:HellowWorld
layout裡的都用小寫:activity_heollo

所以放的目錄也都是固定的
當然Andorid也不例外如下說明(當然剛學所以敘述的不是很好):
1.src:專案的原始碼com.example.helloworld的話.是一個資料夾隔開
2.gen系統自建的資料夾(可刪除編譯後會自動產生)
3.assets:存放資源檔用的,如放html,txt,SQLite資料庫等資源,不用編譯的檔案
4.bin:這也是系統編譯產生的,.apk就在這裡
5.libs:參考進來的類別
6.res:1.圖檔 2.layout的xml 3.menu.xml menu的xml 4.values 定義字串 色彩等等
6-1這邊都要用小寫,如果是兩個字就用_隔開
7.AndoridManifest.xml:程式相當重要的設定檔,目前還沒學很多已後補充

Java JAVA_HOME路徑


Andorid有ANDROID_SDK_HOME
Java當然也有Home如下

我的電腦 >> 內容 >> 進階 >> 環境變數 >> 系統變數 >> 新增
變數名稱:JAVA_HOME
變數值 :
x64
C:\Program Files (x86)\Java\jdk1.6.0_33
x86
C:\Program Files\Java\jdk1.6.0_33

系統變數Path 加上;%JAVA_HOME%\bin;
在cmd裡打java -version看安裝是否成功

Java 基本資料型態

因為學Android所以當然要開始學java啦
雖然以前學過但完全聽不懂老師在說什麼
還好慢慢累積寫程式經驗
這次聽老師講解就輕鬆多了
廢話不多說先從基礎開始啦

基本資料型態共有八種如下
整數:
byte 8bit
short 16bit
int 32bit
long 64bit
浮點數
float 32bit
double 64bit
字元
char 16 bit (0~65535)(unicode)
布林值
boolean

奇怪為何沒String
老師說String  是物件類別

剛發現原來以前學的還不算少
只是那時聽不懂哎~
凡是謙虛學習GOGO

2012-08-04補充
Wrapper Class(包裹類別) 可在安裝java裡找到

byte > Byte.java
short > Short.java
int > Integer.java
long > Long.java
float > Float.java
double > Double.java
char > Character.java
boolean > Boolean.java

2012年5月6日 星期日

Android Layout說明(2012-08-18)

就是控制物件的寬度與高度的設定
目前先用button來當範例
match_parent、wrap_content、fill_parent、自定義四種
先在main.xml 設定
如下圖

就會跑出像下面的
那這樣就大概能看的出四種的差別了吧!!
因為網路上有很多很好的解釋就懶的解釋了!!

2012-08-18 補充
match_parent:即是與上一層的ViewGroup相同大小
wrap_content:與該View的內容有多少決定

2012年4月29日 星期日

IIS Service Unavailable HTTP Error 503 .The Service is unavailable

ok今天一直遇到這個問題
但我什麼也沒調阿不知為啥
後來找了一下網路
各項都試過了像是
重裝IIS、移除應用集區在裝
最後找到這招
將識別改成LocalService就能Run了
給大家參考吧!!

Android SQLite 用命令提示字元建立表格

先執行android模擬器
再來跳到DDMS模式
這時在sdcard中還沒有資料庫
進入命令提示字元
找到
m:(以下看個人放在那裡)
cd android-sdk-windows 
cd platform-tools
adb.exe  shell


cd sdcard 
sqlite3 sql.db(自己命名db的名字)(如果已經有這個檔後就會開啟)
有成功回DDMS看就會出現
create table table1(name,tel);(建立Table)
.table(看建了那些Table)

Android SQLite 簡單認識Sqlite

通常只要有儲存的系統都會有資料庫
Android擇是完全支援SQLite

關於SQLite可至官網了解

書上寫的SQLite是關聯式資料庫
有table、trigger、view、index
與其他資料庫最大的差別在於
通常資料庫都是在似服器端(server)
但SQLite是在本機端(client)
所以剛好可當Android記錄資料的好工具
而儲存的資料為一個檔案喔
後面有操作到就會了解

Android 改變模擬器的預設路徑


原因是這樣子的
因為我想將android帶在usb隨身碟中四處都能用
但是忽然發覺模擬器每到一個新的地方都需要再重新建立一次
開啟AVD Manager後發現如下圖每次都在這個路徑,當然w7 跟xp不一樣

ok在書上找到個辦法
先關掉eclipse喔!!
我的電腦 >> 內容
 進階 >> 環境變數

系統變數 >> 新增
變數名稱:ANDROID_SDK_HOME
變數值 :就是你的隨身碟的位置
補充一下可以先將之前在c:\xxxx\中的.andorid裡的模擬器先copy到隨身碟

 這樣就建好了
 再重新開啟ecplise後就變啦
但要先做將.android copy到隨身碟的動作後再開啟喔,這樣就會自己去找之前的模擬器了


2012年4月27日 星期五

Asp.net 4.0 validateRequest="False"仍有錯誤

很久沒有用validateRequest="False"
今天剛好用4.0寫時將2.0的用法copy過來用
發現還是錯誤
找了網路
有教怎麼使用
只是多了< system.web>下面加入

< httpRuntime requestValidationMode="2.0" />
阿這樣不就又變2.0><只有這招了嗎??

2012年4月25日 星期三

Android Dos模式下資料夾相關

mkdir abc 建資料夾
cd abc 進入資料夾
mv abc def 將abc資料夾變def
rmdir  def刪除def資料夾

Android 模擬器安裝中文輸入法

網路上找的
http://learn2android.blogspot.com/2011/08/androidhtc.html

自己也做了一簡單的以便以後忘記

原本找到HTC_CIME_mod_v4.apk裝不起來
後來改成HTC_CIME_WVGA_v4.apk
點我下載



1.先開啟eclipse執行Android模擬器

2.進入cmd命令提示字元

3.先找到android sdk存放工具位置
M:\android-sdk-windows\platforms-tools>

4.再來安裝Apk,改天要安裝apk也是這種裝法adb install 路徑檔案
adb install m:\keyword\HTC_CIME_WVGA_v4.apk
成功如下圖

這時是沒有UI介面的還好網路有人教

5.
adb shell
cd sdcard
mkdir key123
這時開啟DDMS將ziz8d裡面傳進去


6.
再改資料夾的名稱
mv   key123  .ziz8d
改了之後在DDMS裡就看不到ziz8d了
7就會出現Touch Input中文如下圖
最後一定要寫一個字xd


ps剛測試一下把開發系統放在usb後再到另一台電腦開啟
發現中文輸入法又不見了
發現原來輸入法是裝在模擬器裡面的
C:\Documents and Settings\user\.android\avd
裡放到另外一台就不見了>

後來發現把裝好那台的.android裡的資料copy到新一台就能用了
所以這個是裝在模擬器上的~裝好要跑時記得copy
還是直接copy在usb中到時在另一台上面直接copy過去比較快
但windows7跟xp路徑不一樣要記得

//2012-08-09
果設定不出來在格子上長按滑鼠左鍵就會跳出下圖就能設定


Android 將語言變成中文

這很簡單><
照著圖就攪定了




Android 虛擬器記憶體大小

跑java 虛擬器時一開始都很慢
網路找了一下這是正常的><
真慘
找到一個辦法修改虛擬器的記憶體大小使用量
如下圖當然路徑每個人都不同
找到config.ini後打開
找hw.ramSize=xxx要的儲存即可
資料來源
http://fecbob.pixnet.net/blog/post/35764717-%E6%8F%90%E9%AB%98android%E6%A8%A1%E6%93%AC%E5%99%A8%E9%80%9F%E5%BA%A6%EF%BC%88%E8%BD%89%EF%BC%89