Android入門篇-基礎(chǔ)知識
Android入門篇-基礎(chǔ)知識
對于Android新手來說,如何從零基礎(chǔ)開始自學(xué)Android?下面學(xué)習(xí)啦小編分享Java入門篇的學(xué)習(xí)筆記,希望對學(xué)習(xí)android的朋友們有幫助。
Android入門篇-基礎(chǔ)知識
一、eclipse我常用的快捷鍵
1.、ctrl+shift+r:打開資源
2、ctrl_shift+/ 注釋
3. ctrl+o:快速outline,神器啊
4. ctrl+e:快速轉(zhuǎn)換編輯器,神器啊
5. alt+shift+r:重命名
7. shift+enter及ctrl+shift+enter
8. Alt+方向鍵
9. ctrl+m 最大\小化編輯器
10. ctrl+.:下一個錯誤及快速修改
Ctrl+Shift+X 把當(dāng)前選中的文本全部變味小寫
Ctrl+Shift+Y 把當(dāng)前選中的文本全部變?yōu)樾?/p>
Ctrl+Shift+F 格式化當(dāng)前代碼
eclipse 斷點調(diào)試快捷鍵
F3 --跳到聲明或定義的地方。
F5 --單步調(diào)試進(jìn)入函數(shù)內(nèi)部。
F6 --單步調(diào)試不進(jìn)入函數(shù)內(nèi)部,如果裝了金山詞霸2006則要把“取詞開關(guān)”的快捷鍵改成其他的。
F7 --由函數(shù)內(nèi)部返回到調(diào)用處。
F8 --一直執(zhí)行到下一個斷點。
二、安裝sdk錯誤
SDK Manager:failed to install Warning! A folder failed to be renamed or moved.On Windows this typically means that a propram is using that folder>>>D:\android\android-sdk-windows\tools.When ready,press YES to try again.
解決辦法:
1.進(jìn)入sdk的temp文件夾,下載好后會有一個tools_r06-windows.zip(版本號可能會不一樣)
2.解壓此文件,如解壓成tools_r06-windows
3.進(jìn)入tools_r06-windows文件夾,將tools_r06-windows里的文件復(fù)制
4.覆蓋sdk根目錄的tools文件夾中的文件
三、sqllite操作
運行起模擬器
adb shell 進(jìn)入linux命令行
ls -l查看目錄
cd進(jìn)入目錄
sqlite3 test.db操作test.db
插入數(shù)據(jù):
SQLiteDatabase db = openOrCreateDatabase("test",
Context.MODE_PRIVATE, null);
String sql = "insert into role(id,name) values(?,?)";
String[] values=new String[]{"11","系統(tǒng)管理員"};
db.execSQL(sql, values);
四、DDMS介紹
DDMS 的全稱是Dalvik Debug Monitor Service,為測試設(shè)備截屏,針對特定的進(jìn)程查看正在運行的線程以及堆信息、Logcat、廣播狀態(tài)信息、模擬電話呼叫、接收SMS、虛擬地理坐標(biāo)等等
FileExolorer文件瀏覽
EmulatorControl模擬向模擬器發(fā)送短信,聲音。等
五、android.os.NetworkOnMainThreadException
android4.0后不能再主線程上執(zhí)行下載需要使用異步
需要新建一個線程執(zhí)行Runnable中的操作,然后把結(jié)果發(fā)送給Handler
1、新線程
new Thread(runnable).start();
2、執(zhí)行下載操作
Runnable runnable = new Runnable() {
@Override
public void run() {
//執(zhí)行下載操作
Message msg = new Message();
//發(fā)送結(jié)果
handler.sendMessage(msg);
}
};
private Handler handler = new Handler() {
@Override
// 當(dāng)有消息發(fā)送出來的時候就執(zhí)行Handler的這個方法
public void handleMessage(Message msg) {
try {
//處理結(jié)果
} catch (Exception e) {
Log.e(e.getMessage(), e.toString());
}
}
};
2、當(dāng)然要是真不想使用異步也可以直接下載的,需要設(shè)置下,怎么設(shè)置大家找下度娘。
六、 java.net.SocketException: Permission denied (maybe missing INTERNET permission)
在android中想操作文件,上個網(wǎng),查看通訊錄。啥的都需要開通相應(yīng)的權(quán)限
需要把對應(yīng)授權(quán)加到AndroidManifest.xml中
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
列幾個,這塊可以在android開發(fā)文檔中查找其他的
android.permission.ACCESS_CHECKIN_PROPERTIES 允許讀寫訪問”properties”表在checkin數(shù)據(jù)庫中,改值可以修改上傳( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)
android.permission.ACCESS_COARSE_LOCATION 允許一個程序訪問CellID或WiFi熱點來獲取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location)
android.permission.ACCESS_FINE_LOCATION 允許一個程序訪問精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location)
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 允許應(yīng)用程序訪問額外的位置提供命令(Allows an application to access extra location provider commands)
android.permission.ACCESS_MOCK_LOCATION 允許程序創(chuàng)建模擬位置提供用于測試(Allows an application to create mock location providers for testing)
android.permission.ACCESS_NETWORK_STATE 允許程序訪問有關(guān)GSM網(wǎng)絡(luò)信息(Allows applications to access information about networks)
android.permission.ACCESS_SURFACE_FLINGER 允許程序使用SurfaceFlinger底層特性(Allows an application to use SurfaceFlinger’s low level features)
android.permission.ACCESS_WIFI_STATE 允許程序訪問Wi-Fi網(wǎng)絡(luò)狀態(tài)信息(Allows applications to access information about Wi-Fi networks)
android.permission.ADD_SYSTEM_SERVICE 允許程序發(fā)布系統(tǒng)級服務(wù)(Allows an application to publish system-level services).
七、http操作
八、操作XML之SAX