您好,登錄后才能下訂單哦!
xml注釋:
<!-- 注釋內容 -->
不能再標簽的屬性內部注釋,在標簽之外。
問題:
在控制臺中出現:
You must restart adb and Eclipse
關掉Eclipse以及模擬器并殺死adb.exe這個進程,重新啟動
Activity 界面
四大組件之一
三大要素:
1、聲明一個類繼承Activity
2、關聯布局文件(setContentView())
3、必須在清單文件中注冊
<activity
android:name = 包名 + 類名/>
在清單文件中配置入口界面
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
界面跳轉:
//打開一個界面
// Intent intent = new Intent();//意圖 :界面之間溝通的橋梁
// intent.setClass(MainActivity.this, SecondActivity.class);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
//關閉界面
finish();
A ----> B
步驟:
1、在A中:
String string = mEditText.getText().toString().trim();
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("text", string);
intent.putExtra("int", 1);
intent.putExtra("boolean", true);
startActivity(intent);
2、在B中,onCreat();
//得到意圖
Intent intent = getIntent();
//從意圖或獲取信息
String text = intent.getStringExtra("text");
int i = intent.getIntExtra("int", 0);
boolean booleanExtra = intent.getBooleanExtra("boolean", false);
A ----> B ----> A
1、在A中
String str = mEditText.getText().toString();
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("str", str);
startActivityForResult(intent , 0);//開啟一個界面并等待其返回消息
2、B界面中返回消息
Intent data = new Intent();
data.putExtra("return", string);
setResult(0, data );
finish();
3、A界面接收消息并處理
重寫onActivityResult()
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data != null)
{
String stringExtra = data.getStringExtra("return");
mTextView.setText(stringExtra);
}
}
requestCode 請求碼
用于區分當前界面的不同的請求事件
resultCode 結果碼
用于區分返回消息頁面的不同返回事件
注意:不要使用魔鬼數字
Activity的生命周期
創建 --- 》 運行
onCreat() -----> onStart() ----> onResume()
運行 ---> 銷毀
onPause() ---> onStop() ----> onDestroy()
運行 ----> 暫停(可見不可操作的時候)
onPause()
恢復運行狀態:
onResume()
運行 ----> 停止(不可見可不可操作)
onPause() ---》 onStop()
恢復運行:
onRestart() ---- 》 onStart() ----》 onResume
注意: 當Activity處于暫停或者停止狀態時,如果更高優先級的進程需要內存的話,當前Activity有可能被殺死掉。
內存: 掉電消失
外存 : 理論上數據是可以永久保存
一般在 onPause onStop onDestroy 保存數據(持久化)
onCreat onStart onResume 去獲取數據恢復到界面上
1、得到數據持久化保存的路徑
String path = "/mnt/sdcard/data.txt";
//sdcard的路徑
String path = Environment.getExternalStorageDirectory() + "/data.txt";
2、權限:
需要用到系統服務的話,就要去申請權限
//讀寫外部存儲的權限(sdcard)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3、保存數據(一般是在onStop())
4、讀取數據(一般在 onStart())
FileInputStream fis = null;
try {
fis = new FileInputStream(path);
ByteArrayBuffer arrayBuffer = new ByteArrayBuffer(5000);
int len = 0;
byte[] buffer = new byte[1024];
while(-1 != (len = fis.read(buffer )))
{
arrayBuffer.append(buffer, 0, len);
}
String str = new String(arrayBuffer.toByteArray(),0,arrayBuffer.length());
mEditText.setText(str);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally
{
if(fis != null)
{
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。