Android部分知識點代碼示例
阿新 • • 發佈:2018-11-28
int pro 動態 cti mit 創建 lin fault nvi 一、ProgressBar
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
int progress = progressBar.getProgress();
progress = progress + 10;
progressBar.setProgress(progress);
使用setVisibility()方法,可以傳入 View.VISIBLE、View.INVISIBLE 和 View.GONE,控制可見性。
使用max設置最大值。通過 style 屬性可以將它指定成水平進度條.
二、廣播
(1)動態註冊廣播
intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver, intentFilter);
class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "network changes",
Toast.LENGTH_SHORT).show();
}
}
(2)靜態註冊
<receiver android:name=".MyBroadcastReceiver">
<intent-filter
<--優先級設置-->
android:priority="100" >
<action android:name="com.example.broadcasttest.MY_BROADCAST"/>
</intent-filter>
</receiver>
三、將數據存儲到文件中
Context 類中提供了一個 openFileOutput ()方法,可以用於將數據存儲到指定的文件中。
這個方法接收兩個參數,第一個參數是文件名(不包含路徑),第 二 個 參 數 是 文 件 的 操 作 模 式 , 主 要 有 兩 種 模 式 可 選 ,
MODE_PRIVATE 和 MODE_APPEND。其中 MODE_PRIVATE 是默認的操作模式,表示當指定同樣文件名的時候,所寫入的內容將會覆蓋原文件中的內容,
而 MODE_APPEND 則表示如果該文件已存在就往文件裏面追加內容,不存在就創建新文件。
public void save() {
String data = "Data to save";
FileOutputStream out = null;
BufferedWriter writer = null;
try {
out = openFileOutput("data", Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
四、從文件中讀取數據
Context 類中提供了一個 openFileInput()方法,它只接收一個參數,即要讀取的文件名
public String load() {
FileInputStream in = null;
BufferedReader reader = null;
StringBuilder content = new StringBuilder();
try {
in = openFileInput("data");
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
content.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return content.toString();
}
五、SharedPreferences 存儲
1. Context 類中的 getSharedPreferences()方法
2. Activity 類中的 getPreferences()方法
3. PreferenceManager 類中的 getDefaultSharedPreferences()方法
使用:
1.獲取 SharedPreferences 實例
2. 調用 SharedPreferences 對象的 edit()方法來獲取一個 SharedPreferences.Editor 對象。
SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
3. 向 SharedPreferences.Editor 對象中添加數據, 比如添加一個布爾型數就使用putBoolean方法,添加一個字符串則使用 putString()方法,以此類推。
editor.putString("name", "Tom");
editor.putInt("age", 28);
editor.putBoolean("married", false);
4. 調用 commit()方法將添加的數據提交,從而完成數據存儲操作。
editor.commit();
六、從 SharedPreferences 中讀取數據:
SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
String name = pref.getString("name", "");
int age = pref.getInt("age", 0);
boolean married = pref.getBoolean("married", false);
Android部分知識點代碼示例