編輯:Android開發實例
經過了近三天的學習,這短短的40多分鐘的視頻教程我終於練習的差不多了,在這三天期間其錯誤不斷,覺得自己都快接近瘋狂的邊緣了,最變態的事eclipse沒有報錯,而運行的結果是錯誤的。就這幾天的學習我對一些編程經驗進行一下總結:
其一,strings.xml經常打不開,不能編輯。對於這個我也沒什麼什麼好辦法,不過經過嘗試發現新建一個項目先別對這個文件編輯,等其他事做的差不多了,在重啟eclipse。重啟後就可以編輯這個文件了。
其二,對於一個較為復雜的程序,先要把這個程序劃分成幾個簡單的模塊,然後一一的實現其功能。當一個模塊編輯完成後,要在模擬器上運行查看結果。這樣做的好處是能增強人的愉悅感而且有利於錯誤的排查,便於以後的工作順利進行。
其三,編好的程序在模擬器上測試的時候,一定要用模擬器上的鍵。如果用電腦上的鍵的話,就有可能引發錯誤,讓人誤以為程序那裡編寫錯誤了。測試時要注意數據類型!
其四,要掌握eclipse中的快捷鍵,這對於編程是很重要的。
其五,要多加注釋,這樣自己看起來比較方便。在編寫代碼時出現的文字應把它放在strings.xml這個文件中進行賦值,然後再應用。這樣做的好處為打造國際android開發高手打下基礎。在strings.xml中,對不同的類型的定義量要進行分類,便於以後的維護。
=======================================
這節課學習了Activity下TextView、EditText、Button以及Menu的組件的學習,通過這些組件的學習,還編寫了一個簡單的計算器,更加的熟練掌握各個Activity之間的跳轉。
==========================================
Deom.java
1. package kaier.test;
2.
3. import android.app.Activity;
4. import android.content.Intent;
5. import android.os.Bundle;
6. import android.view.Menu;
7. import android.view.MenuItem;
8. import android.view.View;
9. import android.view.View.OnClickListener;
10. import android.widget.Button;
11. import android.widget.EditText;
12. import android.widget.TextView;
13.
14. public class Deom extends Activity {
15.
16.
17. /** Called when the activity is first created. */
18. private Button button;
19. private EditText editOne;
20. private EditText editTwo;
21. private TextView textView;
22. @Override
23. public void onCreate(Bundle savedInstanceState) {
24. super.onCreate(savedInstanceState);
25. setContentView(R.layout.main);
26. //獲取各個組件,並給其賦值
27. button=(Button)findViewById(R.id.button);
28. editOne=(EditText)findViewById(R.id.strOne);
29. editTwo=(EditText)findViewById(R.id.strTwo);
30. textView=(TextView)findViewById(R.id.strCheng);
31. button.setText(R.string.button);
32. textView.setText(R.string.strCheng);
33. button.setOnClickListener(new BclickListener());
34. }
35. //菜單選項的添加
36. @Override
37. public boolean onCreateOptionsMenu(Menu menu) {
38. // TODO Auto-generated method stub
39. menu.add(1, 1, 1, R.string.exit);
40. menu.add(1,2,2,R.string.about);
41. return super.onCreateOptionsMenu(menu);
42. }
43. //對菜單選項進行控制
44. @Override
45. public boolean onOptionsItemSelected(MenuItem item) {
46. // TODO Auto-generated method stub
47. if (item.getItemId()==1){
48. finish();
49. }
50. return super.onOptionsItemSelected(item);
51. }
52. class BclickListener implements OnClickListener{
53.
54. @Override
55. public void onClick(View v) {
56. Intent intent =new Intent();
57. intent.putExtra("one",editOne.getText().toString());
58. intent.putExtra("two", editTwo.getText().toString());
59. intent.setClass(Deom.this, Result.class);
60. Deom.this.startActivity(intent);
61. }
62.
63. }
64. }
package kaier.test; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Deom extends Activity { /** Called when the activity is first created. */ private Button button; private EditText editOne; private EditText editTwo; private TextView textView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //獲取各個組件,並給其賦值 button=(Button)findViewById(R.id.button); editOne=(EditText)findViewById(R.id.strOne); editTwo=(EditText)findViewById(R.id.strTwo); textView=(TextView)findViewById(R.id.strCheng); button.setText(R.string.button); textView.setText(R.string.strCheng); button.setOnClickListener(new BclickListener()); } //菜單選項的添加 @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(1, 1, 1, R.string.exit); menu.add(1,2,2,R.string.about); return super.onCreateOptionsMenu(menu); } //對菜單選項進行控制 @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub if (item.getItemId()==1){ finish(); } return super.onOptionsItemSelected(item); } class BclickListener implements OnClickListener{ @Override public void onClick(View v) { Intent intent =new Intent(); intent.putExtra("one",editOne.getText().toString()); intent.putExtra("two", editTwo.getText().toString()); intent.setClass(Deom.this, Result.class); Deom.this.startActivity(intent); } } }
Result.java
1. package kaier.test;
2.
3. import android.app.Activity;
4. import android.content.Intent;
5. import android.os.Bundle;
6. import android.widget.TextView;
7.
8. public class Result extends Activity{
9. private TextView textView;
10. @Override
11. protected void onCreate(Bundle savedInstanceState) {
12. // TODO Auto-generated method stub
13. super.onCreate(savedInstanceState);
14. this.setContentView(R.layout.result);
15. Intent intent=getIntent();
16. textView=(TextView)findViewById(R.id.textView);
17. //獲得傳遞過來的值
18. String strOne=intent.getStringExtra("one");
19. String strTwo=intent.getStringExtra("two");
20. int value=Integer.parseInt(strOne)*Integer.parseInt(strTwo);
21. textView.setText((value+""));
22.
23.
24. }
25.
26. }
package kaier.test; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class Result extends Activity{ private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.result); Intent intent=getIntent(); textView=(TextView)findViewById(R.id.textView); //獲得傳遞過來的值 String strOne=intent.getStringExtra("one"); String strTwo=intent.getStringExtra("two"); int value=Integer.parseInt(strOne)*Integer.parseInt(strTwo); textView.setText((value+"")); } }
======================
main.xml
1. < ?xml version="1.0" encoding="utf-8"?>
2. < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical"
4. android:layout_width="fill_parent"
5. android:layout_height="fill_parent"
6. >
7. < EditText
8. android:id="@+id/strOne"
9. android:layout_width="fill_parent"
10. android:layout_height="wrap_content"
11. />
12. < TextView
13. android:id="@+id/strCheng"
14. android:layout_width="wrap_content"
15. android:layout_height="wrap_content"
16. />
17. < EditText
18. android:id="@+id/strTwo"
19. android:layout_width="fill_parent"
20. android:layout_height="wrap_content"
21. />
22. < Button
23. android:id="@+id/button"
24. android:layout_width="wrap_content"
25. android:layout_height="wrap_content"
26. />
27. < /LinearLayout>
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > < EditText android:id="@+id/strOne" android:layout_width="fill_parent" android:layout_height="wrap_content" /> < TextView android:id="@+id/strCheng" android:layout_width="wrap_content" android:layout_height="wrap_content" /> < EditText android:id="@+id/strTwo" android:layout_width="fill_parent" android:layout_height="wrap_content" /> < Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" /> < /LinearLayout>
result.xml
1. < ?xml version="1.0" encoding="utf-8"?>
2. < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical"
4. android:layout_width="fill_parent"
5. android:layout_height="fill_parent"
6. >
7. < TextView
8. android:id="@+id/textView"
9. android:layout_width="wrap_content"
10. android:layout_height="wrap_content"
11. />
12. < /LinearLayout>
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > < TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> < /LinearLayout>
AndroidManifes.xml
1. < ?xml version="1.0" encoding="utf-8"?>
2. < manifest xmlns:android="http://schemas.android.com/apk/res/android"
3. package="kaier.test"
4. android:versionCode="1"
5. android:versionName="1.0">
6. < application android:icon="@drawable/icon" android:label="@string/app_name">
7. < activity android:name=".Deom"
8. android:label="@string/app_name">
9. < intent-filter>
10. < action android:name="android.intent.action.MAIN" />
11. < category android:name="android.intent.category.LAUNCHER" />
12. < /intent-filter>
13. < /activity>
14. < activity android:name=".Result" android:label="hi"/>
15. < /application>
16. < uses-sdk android:minSdkVersion="8" />
17.
18. < /manifest>
AIDL:Android Interface Definition Language,它是一種android內部進程通信接口的描述語言,通過它我們可以定義進程間的
谷歌官方提供了apktool可以逆向已經發布出去的APK應用,即反編譯已經打包成功的APK文件,使用它可以將其反編譯成非常接近打包前的原始格式,對於APK來說,可
本文實例講述了Android實現模仿UCweb菜單效果的方法。分享給大家供大家參考。具體如下: UCWeb的菜單看起來不錯,自己模仿做一個,思路實現如下: 1、保
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個