2012年12月29日 星期六

screen

我們在遠端ssh的時候,都會怕突然的斷線

screen 這個就可以解決我們的問題

cd /usr/ports/sysutils/screen; make install clean

詳細的操作說明,這邊都不說明都可以從以下參考
Linux or FreeBSD screen 指令介紹使用
[FreeBSD]screen安裝

2012年10月8日 星期一

Android Layout background 設定

在layout要讓物件(Button 等等...)沒有預設的框線

可以在

xml
-----------
android:buckground="@null"



style.xml
-----------
<item name="android:background">@null</item>






http://www.mkyong.com/android/android-imagebutton-selector-example/

2012年9月25日 星期二

Android 用post傳送資料


String ServerAddress = "http://192.168.0.1";
String DataA = "1";
String DataB = "2";
String result = "";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("AA",DataA ));
params.add(new BasicNameValuePair("BB",DataB ));


HttpPost httpRequest = new HttpPost(ServerAddress);
try {
    httpRequest.setEntity(new UrlEncodedFormEntity(getParams(),HTTP.UTF_8));
    HttpResponse mHttpResponse = new DefaultHttpClient().execute(httpRequest);
    
    if(mHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
        result = EntityUtils.toString(mHttpResponse.getEntity());    
    }
    
} catch (ClientProtocolException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}


宣告一個 List<NameValuePair> 這裡面是等一下要放入要傳的值及傳的名稱
List<NameValuePair> params = new ArrayList<NameValuePair>();

接下來設定傳入名稱及資料,在這裡是傳AA的名稱,DataA是我們的資料

params.add(new BasicNameValuePair("AA",DataA ));


有幾個就以此類推


接著下面是回傳的結果

if(mHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
     result = EntityUtils.toString(mHttpResponse.getEntity());    
}



可以參考下面檔案

https://www.dropbox.com/s/uxzhtg3roeqwycm/ServerRequest.7z






Java - MD5


public static String md5Encode(String str) {
    StringBuffer buf = new StringBuffer();
    try {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        md5.update(str.getBytes());
        byte bytes[] = md5.digest();
        for(int i = 0; i < bytes.length; i++) {
            String s = Integer.toHexString(bytes[i] & 0xff);
            if(s.length()==1) {
                buf.append("0");
            }
            buf.append(s);
        }

    } catch(Exception ex) {
        
    }
    return buf.toString();
}





2012年6月29日 星期五

Android 重製ListView

在Google 搜尋這類的資料,其實還蠻多的,大致上都說明的很清楚

其中因為資料過多,當超過6~7筆(依螢幕大小,不同)

在滑動會有資料跳動要注意




在這邊,我是因為部份資料要使用刪除線,但滑動後卻都是刪除線

經過學長的指教,才知道資料一開始會全部已經轉成刪除線,當遇到不用改變時

已經變成刪除線TextView時,當然看到全都是刪除線!!!

所以這時要在另加入恢復成原本,才可以。


2012年6月4日 星期一

Android 讀取JSON

使用方法如下

//將資料寫入JSONArray
JSONArray result = new JSONArray(json_data);
//取出陣列內所有物件
for(int i = 0;i < result.length(); i++) {
    //取出JSON物件
    JSONObject stock_data = result.getJSONObject(i);
    //取得物件內資料
    System.out.println("t:"+stock_data.getString("t"));
    System.out.println("l_cur:"+stock_data.getString("l_cur"));
    System.out.println("c:"+stock_data.getString("c"));
    System.out.println("cp:"+stock_data.getString("cp"));
}


參考資料:http://kie0723.blogspot.tw/2010/12/android-json.html






Android TextView line-through 刪除線

在TextView上加入刪除線

方法如下
TextView textview = (TextView) findViewById(R.id.textview1);
Paint paint = textview.getPaint();
paint.setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
paint.setAntiAlias(true);


轉回來
TextView textview = (TextView) findViewById(R.id.textview1);
Paint paint = textview.getPaint();
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
paint.setAntiAlias(true);