歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android拍照上傳代碼樣例

Android拍照上傳代碼樣例

日期:2017/3/1 10:57:42   编辑:Linux編程

相關閱讀:Android拍照上傳程序的xml配置文件 http://www.linuxidc.com/Linux/2011-11/47618.htm

1、LoginWindow.java --登錄窗口

  1. package com.hemi.rhet;
  2. import com.hemi.rhet.R;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.KeyEvent;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.widget.Button;
  10. import android.widget.CheckBox;
  11. import android.widget.EditText;
  12. public class LoginWindow extends Activity {
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. System.out.println("enter LoginWindow.onCreate()!");
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.login_window);
  18. mUserName = (EditText)findViewById(R.id.username);
  19. mUserPasswd = (EditText)findViewById(R.id.userpasswd);
  20. cbx_cmwap = (CheckBox) findViewById(R.id.cbx_cmwap);
  21. loginButton = (Button) findViewById(R.id.login_button);
  22. exitButton = (Button) findViewById(R.id.exit_button);
  23. loginBtnListener = new View.OnClickListener() {
  24. public void onClick(View view) {
  25. LoginWindow.isCmwap = cbx_cmwap.isChecked();
  26. if (view == loginButton) {
  27. launchFetion();
  28. } else if(view == exitButton) {
  29. finish();
  30. }
  31. }
  32. };
  33. loginButton.setOnClickListener(loginBtnListener);
  34. exitButton.setOnClickListener(loginBtnListener);
  35. }
  36. private void launchFetion() {
  37. Intent i = new Intent(this, FuncSelector.class);
  38. i.putExtra(KEY_LOGIN_NAME, mUserName.getText().toString());
  39. i.putExtra(KEY_LOGIN_PASSWD, mUserPasswd.getText().toString());
  40. i.putExtra(KEY_LOGIN_TYPE, cbx_cmwap.isChecked());
  41. startActivity(i);
  42. }
  43. @Override
  44. public boolean onKeyDown(int keyCode, KeyEvent msg) {
  45. // System.out.println("enter onKeyDown() in LoginWindow!");
  46. //
  47. // if (null != loginBtnListener) {
  48. // View aview = getCurrentFocus();
  49. // loginBtnListener.onClick(aview);
  50. // }
  51. return false;
  52. }
  53. private Button loginButton, exitButton;
  54. private EditText mUserName;
  55. private EditText mUserPasswd;
  56. private CheckBox cbx_cmwap;
  57. private OnClickListener loginBtnListener;
  58. public static final String KEY_LOGIN_NAME = "login_name";
  59. public static final String KEY_LOGIN_PASSWD = "login_passwd";
  60. public static final String KEY_LOGIN_TYPE = "login_type";
  61. public static boolean isCmwap = false;
  62. }

2. FuncSelector.java -- 功能模塊選擇窗口

  1. package com.hemi.rhet;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import com.hemi.rhet.R;
  5. import android.app.Activity;
  6. import android.content.Intent;
  7. import android.os.Bundle;
  8. import android.util.Log;
  9. import android.view.Menu;
  10. import android.view.MenuItem;
  11. import android.view.View;
  12. import android.widget.AdapterView;
  13. import android.widget.GridView;
  14. import android.widget.SimpleAdapter;
  15. import android.widget.AdapterView.OnItemClickListener;
  16. public class FuncSelector extends Activity {
  17. @Override
  18. public void onCreate(Bundle savedInstanceState) {
  19. Log.i("info", "enter LoginWindow.onCreate()!");
  20. super.onCreate(savedInstanceState);
  21. setContentView(R.layout.func_selector);
  22. initFuncGrids();
  23. }
  24. private void initFuncGrids() {
  25. GridView funcSeleView = (GridView) findViewById(R.id.func_selector);
  26. // 生成動態數組,並且轉入數據
  27. ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
  28. HashMap<String, Object> map = new HashMap<String, Object>();
  29. map.put("ItemImage", R.drawable.photo_upload); // 添加圖像資源的ID
  30. map.put("ItemText", getString(R.string.photo_upload)); // 按序號做ItemText
  31. lstImageItem.add(map);
  32. map = new HashMap<String, Object>();
  33. map.put("ItemImage", R.drawable.icon);
  34. map.put("ItemText", getString(R.string.sys_config));
  35. lstImageItem.add(map);
  36. for (int i = 1; i <= 10; i++) {
  37. map = new HashMap<String, Object>();
  38. map.put("ItemImage", R.drawable.icon); // 添加圖像資源的ID
  39. map.put("ItemText", "NO." + String.valueOf(i)); // 按序號做ItemText
  40. lstImageItem.add(map);
  41. }
  42. // 生成適配器的ImageItem <====> 動態數組的元素,兩者一一對應
  43. SimpleAdapter saImageItems = new SimpleAdapter(this, // 沒什麼解釋
  44. lstImageItem,// 數據來源
  45. R.layout.night_item,// night_item的XML實現
  46. // 動態數組與ImageItem對應的子項
  47. new String[] { "ItemImage", "ItemText" },
  48. // ImageItem的XML文件裡面的一個ImageView,兩個TextView ID
  49. new int[] {R.id.ItemImage,R.id.ItemText});
  50. //null);
  51. // 添加並且顯示
  52. funcSeleView.setAdapter(saImageItems);
  53. //saImageItems.notifyDataSetChanged();
  54. // 添加消息處理
  55. funcSeleView.setOnItemClickListener(new ItemClickListener());
  56. }
  57. public boolean onCreateOptionsMenu(Menu menu) {
  58. super.onCreateOptionsMenu(menu);
  59. menu.add(0, EXIT_ID,0, R.string.back_button);
  60. return true;
  61. }
  62. //@Override
  63. public boolean onMenuItemSelected(int featureId, MenuItem item) {
  64. boolean result = true;
  65. switch(item.getItemId()) {
  66. case EXIT_ID:
  67. this.finish();
  68. break;
  69. default:
  70. result = super.onMenuItemSelected(featureId, item);
  71. break;
  72. }
  73. return result;
  74. }
  75. // 當AdapterView被單擊(觸摸屏或者鍵盤),則返回的Item單擊事件
  76. class ItemClickListener implements OnItemClickListener {
  77. public void onItemClick(AdapterView<?> arg0,// The AdapterView where the
  78. // click happened
  79. View arg1,// The view within the AdapterView that was clicked
  80. int arg2,// The position of the view in the adapter
  81. long arg3// The row id of the item that was clicked
  82. ) {
  83. // 在本例中arg2=arg3
  84. HashMap<String, Object> item = (HashMap<String, Object>) arg0
  85. .getItemAtPosition(arg2);
  86. String tmpStr = (String) item.get("ItemText");
  87. //item.put("ItemText", tmpStr + tmpStr.substring(tmpStr.length() - 1));
  88. // 顯示所選Item的ItemText
  89. // setTitle((String)item.get("ItemText"));
  90. Log.i("info", (String) item.get("ItemText"));
  91. ((SimpleAdapter) arg0.getAdapter()).notifyDataSetChanged();
  92. Intent i;
  93. switch (arg2) {
  94. case 0:
  95. i = new Intent();
  96. i.setClass(FuncSelector.this, PhotoUpload.class);
  97. startActivity(i);
  98. break;
  99. case 1:
  100. i = new Intent();
  101. i.setClass(FuncSelector.this, ConfigWindow.class);
  102. startActivity(i);
  103. break;
  104. default:
  105. break;
  106. }
  107. }
  108. }
  109. private static final int TAKE_PHOTO_ID = Menu.FIRST;
  110. private static final int UPLOAD_PHOTO_ID = Menu.FIRST + 1;
  111. private static final int EXIT_ID = Menu.FIRST + 3;
  112. }//FuncSelector
Copyright © Linux教程網 All Rights Reserved