發表文章
目前顯示的是 8月, 2018的文章
2.載入JDBC語法3.建立CONNECTION物件4.
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
2. 載入JDBC語法: Class.forName(參數) 說明:參數內容是 "sun.jdbc.odbc.JdbcodbcDriver"這是套件路徑。 sun/jdbc/odbc/JdbcOdbcDriver.class 3.建位Connection物件 語法 DriverManager.getConnection( 參數 ) 說明:參數內容是"jdbc:odbc:資料來源名稱" 4.建立statement物件(例:擬購物清單) 語法: connection物件.createStatement() 說明:1.物件的用途是傳地要執行的sql子句。 物件方法有: 1.execute(sql):回傳true或false 2.executeUpdate(sql):回傳受影響的筆數。 3.executeQuery(sql):回傳Resultset物件(查詢結果) 5.
設定odbc。
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
step 1 設定ODBC 方法一 a)開始>控制台>系統管理工具>資料來源ODBC b)系統資料來源:原名稱 c)新增 d)選擇"Microsoft Access Driver(*.mdb,*accdb); 方法二 a) C:\Windows\SysWow64\odbcad32.exe b)系統資料來源:原名稱 c)新增 d)選擇"Microsoft Access Driver(*.mdb,*accdb); e)完成 f)輸入資料來源名稱 如Lulu g)選取Access檔案的路徑與檔名 step2 載入JDBC Driver 語法 Class.forName(參數) 說明:"sun.jdbc.odbc.JdbcOdbc Driver" sun |-jdbc | |-odbc | | |-JdbcOdbc step3 建立connection 物件 語法: DriverManager.getConnection(參數) 說明:參數內容是 "Jdbc:odbc:資料來源名稱" ex:Lulu step4 建立 statement物件 語法: Connection 物件.createStatement(); 說明 1.物件的用途是傳遞要執行的SQL 子句 2.物件方法有 (1) execute (SQL) :回傳true/false (2) executeUpdate(SQL):回傳受影響的筆數 (3) executeQuery(SQL) :回傳resultSet 物件(查詢結果)
資料庫32範例:小戴修正。
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package ex32.MyHotline; import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v4.widget.SimpleCursorAdapter; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; public class MainActivity extends Activity implements AdapterView.OnItemClickListener { static final String DB_NAME = "HotlineDB"; static final String TB_NAME = "hotlist"; ...
一維陣列顯示在listview,利用ArrayAdapter
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package com.jbuduoo.test001; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class MainActivity extends AppCompatActivity { ArrayAdapter<String> adapter; ListView lv; String[] A={"1","2","3","4","5"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv =findViewById(R.id.lv); adapter = new ArrayAdapter<String>(this, android.R.layout.simpl...
廣播接收器、
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ex37.BroadcastReceiver_2" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="14" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name="ex37.BroadcastReceiver_2.BroadcastReceiver_2" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> ...
範例35:狀態列與訊息提醒,設定振動
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package ex36.Notification_2; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.View; public class Notification_2 extends Activity { private static final int NOTIF_ID = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } // Button元件的事件處理 - 顯示提醒訊息 @SuppressWarnings("deprecation") public void btn1_Click(View view) { // 取得NotificationManager系統服務 NotificationManager notif = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); ...
狀態列與訊息提醒notification manager
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
第一頁 package ex35.Notification_1; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.view.View; public class Notification_1 extends Activity{ private static final int NOTIF_ID = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } // Button元件的事件處理 - 顯示提醒訊息 @SuppressWarnings("deprecation") public void btn1_Click(View view) { // 取得NotificationManager系統服務 NotificationManager notif = (NotificationManager) ...
移除標題欄修改 style.xml 檔案,設定為 NoActionBar
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
< resources > < style name = " AppTheme " parent = " Theme.AppCompat.NoActionBar " > <item name= "colorPrimary" >@color/colorPrimary</item> <item name= "colorPrimaryDark" >@color/colorPrimaryDark</item> <item name= "colorAccent" >@color/colorAccent</item> </ style > </ resources > 資料來源: https://jerrynest.io/app-android-webview/
維尼的需求,上面可以輸入網址,中間開網站,下面可以輸入內容,可存檔等等。用webView及intent發送mail
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package com.jbuduoo.myapplication; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.EditText; public class MainActivity extends AppCompatActivity { WebView wv; EditText editText,editText2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText=findViewById(R.id.editText); editText2=findViewById(R.id.editText2); wv =findViewById(R.id.wv); wv.setWebViewClient(new WebViewClient()); // 建立及使用 WebViewC...
數字換成加#,###格式
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
數字轉換成金額格式. //運用DecimalFormat制定好金額顯示格式,每三位數顯示逗號 DecimalFormat mDecimalFormat = new DecimalFormat("#,###"); int num = 12345;//如果數字型態為int String text = mDecimalFormat.format((int)num);//在format裡轉型成double // text印出結果為 : 12,345 //如果數字型態為String String str = "12345"; String text = mDecimalFormat.format(Double.parseDouble(str));//在format裡轉型成double // text印出結果為 : 12,345
GPS、緯度、經度、精確度、標高、時間、速度、方位
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package com.LocationGPS; import android.app.Activity; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class LocationGPS extends Activity { private LocationManager mLocationManager; //LocationGPS主程式,實作一個LocationManager物件mLocationManager @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE); mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener); TextView mTextView08 = (TextView)findViewById(R.id.TextView08); mTex...
匿名實作與目前的作法
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
implement OnclickListener 介面 buttonEmail.setOnClickListener(this) ; 監聽器 方法 public void onClick(View view) { //發送mail Uri uri=Uri.parse("mailto:ccc@nqu.edu.tw"); Intent i=new Intent(Intent.ACTION_SENDTO,uri); startActivity(i); } 匿名實作 buttonEmail.setOnClickListener(new Button.OnClickListener() { public void onClick(View view) { //發送mail Uri uri=Uri.parse("mailto:ccc@nqu.edu.tw"); Intent i=new Intent(Intent.ACTION_SENDTO,uri); startActivity(i); } });
Intent 的使用功能、打開網頁、發送mail、打電話、拍照、打開地圖、打開圖片、打開網頁的儲存空間
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package ccc.test; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.provider.Contacts.People; import android.view.View; import android.widget.Button; public class IntentTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button buttonUrl = (Button) findViewById(R.id.ButtonUrl); Button buttonEmail = (Button) findViewById(R.id.ButtonEmail); Button buttonTel = (Button) findViewById(R.id.ButtonTel); Button buttonCamera = (Button) findViewById(R.id.ButtonCamera); Button buttonGMap ...
activeity 生命週期
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package com.ActivityLifeCycle; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class ActivityLifeCycle extends Activity { public static final String MYPREFSID = "MyPrefs001"; public static final int actMode = Activity.MODE_PRIVATE; EditText txtMsg; Button btnFinish; TextView txtToDo; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtMsg = (EditText) findViewById(R.id.txtMsg); //updateFromSavedState_IfNeeded(); txtToDo = (TextView) findViewById(R.id.txtToDo); String msg = "Instructions: \n " + "0. New instance (...
設定googel金鑰
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
找這一段文字。 http://www.codedata.com.tw/wp-content/uploads/2015/04/AndroidTutorial5_04_02_05.png 啟動瀏覽器在網址列貼上前一個步驟複製的網址,使用Google的帳號登入以後,勾選同意服務條款,選擇「同意並繼續」 http://www.codedata.com.tw/wp-content/uploads/2015/04/AndroidTutorial5_04_02_06.png 6. 網頁右下角顯示處理中的活動訊息: http://www.codedata.com.tw/wp-content/uploads/2015/04/AndroidTutorial5_04_02_07.png 7. 在出現的對話框選擇「建立」: http://www.codedata.com.tw/wp-content/uploads/2015/04/AndroidTutorial5_04_02_08.png 8. 建立完成後,在「API金鑰」後面的一串內容,就是為已經申請好的Google Maps API Key。選擇並複製API金鑰的內容: http://www.codedata.com.tw/wp-content/uploads/2015/04/AndroidTutorial5_04_02_09.png 9. 回到Android Studio,在googlemapsapi.xml檔案,找到「YOURKEYHERE」的位置: http://www.codedata.com.tw/wp-content/uploads/2015/04/AndroidTutorial5_04_02_10.png 10. 把第八個步驟複製的API金鑰貼上與覆蓋「YOURKEYHERE」:
不錯的android 論壇,有許多好文章,http://www.codedata.com.tw/search.php?kw=android&p=3
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
打開google map
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
java:MainActivity: package com.example.googlemap; import android.os.Bundle; import android.app.Activity; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { private static final String MAP_URL = "file:///android_asset/map_v3.html"; private WebView webView; @Override /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupWebView(); } /** Sets up the WebView object and loads the URL of the page **/ private void setupWebView(){ webView = (WebView) findViewById(R.id.webview01); webView.getSettings().setJavaScriptEnabled(true);//啟用Webview的JavaScript功能 webView.setWebViewClient(new WebViewClient()); webView.loadUrl(MAP_URL); } } assets:map_v3.htm...
心算練習:連結到第二頁、傳參數、取得傳入的資料、toast、介面OnItemClickListener
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
第一頁 package com.jbuduoo.myapplication; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void button(View v){ Intent it = new Intent(this, Main2Activity.class); //建立 Intent 並設定目標 Activity it.putExtra("數字", 100); //附加編號 startActivity(it); // 啟動 Intent 中的目標 } public void button1(View v){ Intent it = new Intent(this, Main2Activity.class); //建立 Inten...
範例32資料庫
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package ex32.MyHotline; import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.os.Bundle; import android.support.v4.widget.SimpleCursorAdapter; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; public class MainActivity extends Activity implements AdapterView.OnItemClickListener { static final String DB_NAME = "HotlineDB"; static final String TB_NAME = "hotlist"; static final int MAX = 8; static final String[] FROM = new String[]{"name", "phone", "email"}; final String tag = MainActivity.class.getSimpleName(); SQLiteDatabase db; Cursor cur; SimpleCursorAdapte...
android,如何匯入資料到手機的資料庫中
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
步驟一: file/project Structure複製sdk位置 貼到任一資料夾 選擇tools裡的monitor.bat 會出現錯誤訊息,但是正常的。 開啟file explorer,找出data/data/ex32/database/的資料庫 匯出。 (裡面有permissions裡的訊息-rwxrwx--x的意思為。 第一個-是檔案的意思,若是d則為目錄。 第二個rwx是個人的意思,r是讀,w是寫,進入。 第三個rwx是群組的意思,r是讀,w是寫,進入。 第四個--x是其他人的意思,r是讀,w是寫,進入。 步驟二: 利用SQLiteDatabaseBrowserPortable, 來開啟匯出的資料庫 加入或、匯入資料後存檔 步驟三: 再匯入資料到手機資料庫裡。
範例31、資料庫新增修改
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package ex31.HelloCursor; import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { static final String db_name = "testDB"; // 資料庫名稱 static final String tb_name = "test"; // 資料表名稱 SQLiteDatabase db; //資料庫 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 開啟或建立資料庫 db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null); //db.delete(tb_name, null,null); ...
第28個練習, webview工作
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
package ex28.BetterWebView; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Window; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_PROGRESS); // 在標題欄加上進度功能 setContentView(R.layout.activity_main); wv = (WebView) findViewById(R.id.wv); wv.getSettings().setJavaScriptEnabled(true); // 啟用 JavaScript wv.getSettings().setBuiltInZoomControls(true); // 啟用縮放功能 wv.invokeZoomPicker();...
android,更改標題名稱,及圖片。
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
在app/mainifests/AndroidManifest.xml中的。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.asus.myapplication"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" //改圖片 android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" //改圖片 android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category andro...
練習25,備忘錄,可儲存。
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
第二頁 package ex25.Memo2; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class Edit extends Activity { TextView txv; EditText edt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit); Intent it = getIntent(); //取得傳入的 Intent 物件 txv = (TextView) findViewById(R.id.textView1); String s = it.getStringExtra("備忘"); //讀出名為 "備忘" 的 String 資料 txv.setText(s.substring(0, 2)); //在畫面左上角顯示編號 ...