format參數中可以包含不需要轉化的字符串,這些字符串是你寫什麼,最終就輸出什麼。同時還包含一些特殊格式的內容,來指定將哪個對象來轉換,以及轉 換成什麼形式。這種特殊的格式通通以%index$開頭,index從1開始取值,表示將第index個參數拿進來進行格式化。這一點比c語言要強一點, c語言只能按照參數的順序依次格式化,而java可以選擇第n個參數來格式化。由於該函數可以對任意一個對像進行格式化,不同的對象適用的參數也不同,因 此我們下面分類來討論。
2013年5月30日 星期四
【轉貼備份】JAVA String.format 方法使用介紹
format參數中可以包含不需要轉化的字符串,這些字符串是你寫什麼,最終就輸出什麼。同時還包含一些特殊格式的內容,來指定將哪個對象來轉換,以及轉 換成什麼形式。這種特殊的格式通通以%index$開頭,index從1開始取值,表示將第index個參數拿進來進行格式化。這一點比c語言要強一點, c語言只能按照參數的順序依次格式化,而java可以選擇第n個參數來格式化。由於該函數可以對任意一個對像進行格式化,不同的對象適用的參數也不同,因 此我們下面分類來討論。
2013年5月29日 星期三
解決 Chrome 更新 flashplay plugin後,youtube 播放有影像無聲音問題
先複製 chrome://plugins/ 到網址列 檢查一下 Adobe Flash Player 是否有兩個
保留這一個
另一個就停用,重新啟動 chrome 應該就可以了
另一個看到個可能是,將其停用
http://get.adobe.com/tw/flashplayer/?no_redirect 可安裝最新版
照理來說更新之後舊版應該會被取代 不知道甚麼原因結果變成共存 所以才會沒聲音?
停用其中一個就可以了
保留這一個
名稱: | Shockwave Flash |
說明: | Shockwave Flash 11.7 r700 |
版本: | 11,7,700,202 |
位置: | C:\Windows\SysWOW64\Macromed\Flash\NPSWF32_11_7_700_202.dll |
類型: | NPAPI |
另一個就停用,重新啟動 chrome 應該就可以了
另一個看到個可能是,將其停用
名稱: | Shockwave Flash |
說明: | Shockwave Flash 11.7 r700 |
版本: | 11.7.700.203 |
位置: | C:\Users\William\AppData\Local\Google\Chrome\Application\27.0.1453.94\PepperFlash\pepflashplayer.dll |
類型: | PPAPI (獨立程序) |
http://get.adobe.com/tw/flashplayer/?no_redirect 可安裝最新版
照理來說更新之後舊版應該會被取代 不知道甚麼原因結果變成共存 所以才會沒聲音?
停用其中一個就可以了
2013年5月28日 星期二
三套好用的SQLite 圖形化管理工具
工欲善其事,必先利其器,與其一直使用命令列 key in key到掛,
不如找一套好用的工具帶你上天堂!!!增加你的工作效率
(1)SQLiteStudio
個人最常用的一套,使用方式很直覺,最常用的快捷鍵為alt+e
還有F9...真的還蠻方便的,另外還提供方便的介面可同時管理
多個SQLite 資料庫
http://sqlitestudio.pl/
2013年5月25日 星期六
Android 禁止螢幕進入休眠和鎖定
最快的方法為
在 setContentView 之前加入下列程式片段
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.main);
【參考網址】
http://blog.csdn.net/chenyafei617/article/details/6575621
在 setContentView 之前加入下列程式片段
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.main);
【參考網址】
http://blog.csdn.net/chenyafei617/article/details/6575621
2013年5月24日 星期五
Google Maps Android API v2 簡易練習
由 Google Android SDK開發範例大全|第3版 範例 修改而來
原本為 v1 版本,手工轉為 v2 版本,參照 Google Map API demo
若開啟後發生res 資源檔發生問題,請執行 clean 即可
Layout 佈局:
執行畫面:
原始檔案:
https://dl.dropboxusercontent.com/u/15526319/Android/testGoogleMap003.zip
原本為 v1 版本,手工轉為 v2 版本,參照 Google Map API demo
若開啟後發生res 資源檔發生問題,請執行 clean 即可
Layout 佈局:
執行畫面:
原始檔案:
https://dl.dropboxusercontent.com/u/15526319/Android/testGoogleMap003.zip
2013年5月22日 星期三
消除 eclipse Logcat 中的錯誤訊息 Unexpected value from nativeGetEnabledTags: 0
新增一個 Logcat 的 Filter
Filter Name 隨便
by Log Message 填入 ^(?!.*(nativeGetEnabledTags)).*$
【參考資料】
http://stackoverflow.com/questions/13416142/unexpected-value-from-nativegetenabledtags-0
Filter Name 隨便
by Log Message 填入 ^(?!.*(nativeGetEnabledTags)).*$
【參考資料】
http://stackoverflow.com/questions/13416142/unexpected-value-from-nativegetenabledtags-0
2013年5月18日 星期六
Google Maps Android API v2 官方 Demo 的使用步驟
參考官方文件
https://developers.google.com/maps/documentation/android/intro?hl=zh-TW#sample_code
裡面提到
https://developers.google.com/maps/documentation/android/intro?hl=zh-TW#sample_code
裡面提到
- Select File > Import > Android > Existing Android Code Into Workspace and click Next.
- Select Browse..., enter
, and click Finish./extras/google/google_play_services/libproject/google-play-services_lib
Once you have installed Google Play services, you can view the sample code, or run the sample app locally. The sample app is an Eclipse project that you can run on your device as follows:
- Select File > Import > Android > Existing Android Code Into Workspace and click Next.
- Select Browse..., enter
, and click Finish./extras/google/google_play_services/samples/maps - Select Project > Properties, select Java Build Path, and navigate to Libraries.
- Select Add External Jars, include the following jar files, and click OK:
/extras/android/compatibility/v4/android-support-v4.jar
- Add your own Google Maps Android API key.
- Select Run > Run to test the sample app.
2013年5月17日 星期五
使用 Intent 跳到其他的Activity 並搭配 startActivityForResult
MainActivity.java
package com.example.basic_intent; //使用 Intent 跳到其他的Activity //並使用 startActivityForResult() 來傳送 requestCode //並設定 onActivityResult() 來接收過濾 requestCode / resultCode //並在 MainTwo.java 中設定要丟回來的資料到 Intent 中 //最後 MainActivity.java onActivityResult() 接收資料 //要修改 AndroidManifest.xml //將 Activity 加到啟動程序中 import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.util.Log; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { final static int KEY_CHAIN = 333; final static int KEY_HOLE = 333; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("生命週期", "1_onCreate"); Button go2 = (Button) this.findViewById(R.id.button1); go2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getBaseContext(), MainTwo.class); //startActivity(intent); startActivityForResult(intent, KEY_CHAIN); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.i("返回訊息", "回到onActivityResult"); if(requestCode == KEY_CHAIN){ //if(resultCode == RESULT_OK){ if(resultCode == KEY_HOLE){ Log.i("返回訊息", "正常收到KEY_HOLE的資料"); //取回MainTwo 送回來的資料 Log.i("返回訊息", data.getExtras().getString("result")); } } } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); //finish(); Log.i("生命週期", "1_onStop"); //Toast.makeText(getBaseContext(), "go2 結束了", Toast.LENGTH_LONG).show(); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.i("生命週期", "1_onPause"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.i("生命週期", "1_onRestart"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.i("生命週期", "1_onResume"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.i("生命週期", "1_onStart"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.i("生命週期", "1_onDestroy"); } }MainTwo.java
package com.example.basic_intent; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; //import android.widget.Toast; public class MainTwo extends Activity { final static int KEY_CHAIN = 333; final static int KEY_HOLE = 333; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_two); Log.i("生命週期", "2_onCreate"); Button go1 = (Button) this.findViewById(R.id.button1); go1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //也可以只送 resultCode,不送任何資料 //setResult(KEY_HOLE); Intent intent = new Intent(); //intent.setClass(getBaseContext(), MainActivity.class); intent.putExtra("result", "我在測試送回去的結果"); //setResult(RESULT_OK,intent); setResult(KEY_HOLE,intent); //startActivity(intent); MainTwo.this.finish(); } }); } @Override protected void onStop() { super.onStop(); //finish(); Log.i("生命週期", "2_onStop"); //Toast.makeText(getBaseContext(), "go2 結束了", Toast.LENGTH_LONG).show(); } @Override protected void onPause() { super.onPause(); Log.i("生命週期", "2_onPause"); } @Override protected void onRestart() { super.onRestart(); Log.i("生命週期", "2_onRestart"); } @Override protected void onResume() { super.onResume(); Log.i("生命週期", "2_onResume"); } @Override protected void onStart() { super.onStart(); Log.i("生命週期", "2_onStart"); } @Override protected void onDestroy() { super.onDestroy(); Log.i("生命週期", "2_onDestroy"); } }
MySQL指令 mysqldump(匯出資料) 用法說明
資料庫資料匯出(dump)
範例:
mysqldump -u test -h 192.168.0.100 -p testdb > alltable.sql
mysqldump -u test -h 192.168.0.100 -p testdb testtable > alltesttable.sql
mysqldump -u test -h 192.168.0.100 -d -p testdb testtable > schematesttable.sql
mysqldump -u test -h 192.168.0.100 -d -p testdb testtable1 testtable2> schemasometable.sql
資料庫資料匯入
範例:
mysql -u test -p testdb < testtable.sql
參數說明
>: 表示匯出資料
<: nbsp="" span="">
-u: mysql使用者
-h: 連線host IP或Domain Name
-d: 只需要匯出(dump)Table的結構, 若沒有此參數, 會將Table的結構和資料一併匯出
-p: 需要密碼, 指令執行後待會會要求輸入
testdb: 指定要處理的DB名稱
testtable: 指定要處理的Table名稱
testtable.sql: 匯入或是匯出Table資料的SQL語法
【來源】
http://forum.liferec.com/viewtopic.php?t=185
範例:
mysqldump -u test -h 192.168.0.100 -p testdb > alltable.sql
mysqldump -u test -h 192.168.0.100 -p testdb testtable > alltesttable.sql
mysqldump -u test -h 192.168.0.100 -d -p testdb testtable > schematesttable.sql
mysqldump -u test -h 192.168.0.100 -d -p testdb testtable1 testtable2> schemasometable.sql
資料庫資料匯入
範例:
mysql -u test -p testdb < testtable.sql
參數說明
>: 表示匯出資料
<: nbsp="" span="">
-u: mysql使用者
-h: 連線host IP或Domain Name
-d: 只需要匯出(dump)Table的結構, 若沒有此參數, 會將Table的結構和資料一併匯出
-p: 需要密碼, 指令執行後待會會要求輸入
testdb: 指定要處理的DB名稱
testtable: 指定要處理的Table名稱
testtable.sql: 匯入或是匯出Table資料的SQL語法
【來源】
http://forum.liferec.com/viewtopic.php?t=185
修改 MySQL 5.x 預設語系為 utf8 解決中文亂碼問題
解決 MySQL 5.x 資料庫 插入中文資料會變成亂碼的問題
修改 MySQL 安裝目錄中的 my.ini 檔案
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
[client]
default-character-set = utf8
加入上述的設定
接著可下 MySQL 指令 驗證 看看是否都已成為 utf8
mysql> SHOW VARIABLES LIKE '%char%';
【參考資料】
http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf
http://www.aydnw.com/html/database/mysql/4419.html
http://j796160836.pixnet.net/blog/post/26585908-%5Bmysql%5D%E6%9B%B4%E6%94%B9%E9%A0%90%E8%A8%AD%E8%B3%87%E6%96%99%E5%BA%AB%E7%9A%84%E7%B7%A8%E7%A2%BC
若不想更改資料庫的設定,可於每次PHP 傳送資料時先設定
//此為臨時的設定,重開MySQL 就會恢復
//可藉由設定 PHP 的 My.ini 來固定設定
//設定使用的字集
mysql_query("set character set 'utf8'");
//設定使用的字集
mysql_query("set names 'utf8'");
【參考資料】
http://fanchie.blogspot.tw/2008/11/mysql-set-names-utf8.html
修改 MySQL 安裝目錄中的 my.ini 檔案
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
[client]
default-character-set = utf8
加入上述的設定
接著可下 MySQL 指令 驗證 看看是否都已成為 utf8
mysql> SHOW VARIABLES LIKE '%char%';
【參考資料】
http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf
http://www.aydnw.com/html/database/mysql/4419.html
http://j796160836.pixnet.net/blog/post/26585908-%5Bmysql%5D%E6%9B%B4%E6%94%B9%E9%A0%90%E8%A8%AD%E8%B3%87%E6%96%99%E5%BA%AB%E7%9A%84%E7%B7%A8%E7%A2%BC
若不想更改資料庫的設定,可於每次PHP 傳送資料時先設定
//此為臨時的設定,重開MySQL 就會恢復
//可藉由設定 PHP 的 My.ini 來固定設定
//設定使用的字集
mysql_query("set character set 'utf8'");
//設定使用的字集
mysql_query("set names 'utf8'");
【參考資料】
http://fanchie.blogspot.tw/2008/11/mysql-set-names-utf8.html
2013年5月16日 星期四
在 Java 中簡易建立與 MySQL 資料的連線流程
在 Java 中簡易建立與 MySQL 資料的連線流程
註冊 jdbc Driver
設定 Connection
建立 Statment
取得 ResultSet
註冊 jdbc Driver
設定 Connection
建立 Statment
取得 ResultSet
//初始化 jdbc connector try { Class.forName("com.mysql.jdbc.Driver"); Connection con; //使用DriverManager 工廠類別得到 Conneciton String jdbcStr ="jdbc:mysql://localhost/student?useUnicode=true&characterEncoding=Big5"; con = DriverManager.getConnection( jdbcStr , "root", password); //使用 Connection 取得 stmt 的實體 Statement stmt = null; stmt = con.createStatement(); String sql_all = "select * from mon1;"; ResultSet rs = null; //取得 select 的結果 resultset rs = stmt.executeQuery(sql_all); while(rs.next){ //運用 rs.getXXX(columnName) 將相關資料取出 } } catch (ClassNotFoundException | SQLException ex) { // TODO Auto-generated catch block ex.printStackTrace(); }
啟用 PHP 中的 MySQL 支援
Apache + PHP + MySQL
如果安裝完上述三樣軟體之後
發現PHP 在使用 mysql? 函數時,顯示無法調用
請檢查 PHP 是否有正常掛載 mysql 相關服務
可以在 .PHP 中叫用 phpinfo();
看是否有啟動相關服務
[JAVA} Multi Thread Console 程式
共計有三段檔案
go.java
go.java
//使用 Thread / Runnable 介面 建立執行緒 //有獨立寫出class 也有直接寫在code 裡面 public class go { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //第一種寫法 複寫 Thread 中的 run 方法 go2 another = new go2(); another.start(); //第二種寫法 複寫 Runnable 介面中的 run 方法 go3 other_inside = new go3(); Thread other = new Thread(other_inside); other.start(); //第三種寫法 匿名類別 直接複寫 Runnable 中的 run 方法 Thread four = new Thread(new Runnable() { @Override public void run() { for(int i=0;i<20;i++){ System.out.println(i + ". I kiss You!!"); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }); four.start(); for(int i=0;i<20;i++){ System.out.println(i + ". I hate You!!"); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }go2.java
public class go2 extends Thread { @Override public void run() { // TODO Auto-generated method stub super.run(); for(int i=0;i<20;i++){ System.out.println(i + ". I Love You"); try{ Thread.sleep(2000); }catch(InterruptedException ex){ ex.printStackTrace(); } } } }go3.java
public class go3 implements Runnable { @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<20;i++){ System.out.println(i + ". I like You!!"); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
訂閱:
文章
(
Atom
)