欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      關(guān)于Android 開發(fā)環(huán)境的構(gòu)建方法總結(jié)

      時(shí)間:2019-05-13 19:14:26下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《關(guān)于Android 開發(fā)環(huán)境的構(gòu)建方法總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《關(guān)于Android 開發(fā)環(huán)境的構(gòu)建方法總結(jié)》。

      第一篇:關(guān)于Android 開發(fā)環(huán)境的構(gòu)建方法總結(jié)

      關(guān)于Android開發(fā)環(huán)境的構(gòu)建方法總結(jié)

      作者: 曹亮 發(fā)布時(shí)間: 2010-03-25 21:31 閱讀: 745 次 原文鏈接 字體: 大 中 小 [收藏]

      本方法適用于Android SDK 2.1環(huán)境下的程序開發(fā)

      安裝JDK

      ? 在java.sun.com下載JDK并安裝。

      ? 在“系統(tǒng)屬性”的“高級”選項(xiàng)卡中點(diǎn)擊“環(huán)境變量”,然后添加如下系統(tǒng)環(huán)境變量:

      1.在PATH環(huán)境變量后追加 JDK安裝路徑中的bin路徑,本機(jī)為: C:Program FilesJavajdk1.6.0_18bin 2.新建CLASSPATH環(huán)境變量或在CLASSPATH環(huán)境變量后追加JDK安裝路徑中的lib路徑和demo路徑,本機(jī)為:

      C:Program FilesJavajdk1.6.0_18demo;C:Program FilesJavajdk1.6.0_18lib 安裝Eclipse

      ? 在eclipse.org下載Eclipse IDE for Java Developers的Windows 32bit版本。

      ? 下載完成后解壓即可使用。

      安裝Android SDK OR 離線安裝

      ? 在Android Developers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。

      ? 運(yùn)行SDK Setup.exe,點(diǎn)擊Available Packages,如果沒有出現(xiàn)可安裝的包請點(diǎn)擊Settings,選中Misc中的“Force https://...”這項(xiàng),再點(diǎn)擊Available Packages。

      ? 選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊Installation Selected、Accept All、Install Accepted,開始下載安裝所選包

      ? 添加SDK安裝目錄中的tools文件夾路徑至系統(tǒng)PATH環(huán)境變量,本機(jī)為: C:Androidandroid-sdk-windowstools 關(guān)于離線安裝

      用上面方法更新的時(shí)候速度很慢。

      更要等很久。所以我們可以直接把那些包下載下來安裝。地址就是 https://dl-ssl.google.com/androi...2.0_r01-windows.zip https://dl-ssl.google.com/androi...2.1_r01-windows.zip https://dl-ssl.google.com/androi...-1.1_r1-windows.zip https://dl-ssl.google.com/androi...1.5_r03-windows.zip https://dl-ssl.google.com/androi...1.6_r02-windows.zip https://dl-ssl.google.com/androi...ver_r03-windows.zip https://dl-ssl.google.com/androi...ogle_apis-6_r01.zip https://dl-ssl.google.com/androi...ogle_apis-5_r01.zip https://dl-ssl.google.com/androi...ogle_apis-4_r02.zip https://dl-ssl.google.com/androi...ogle_apis-7_r01.zip 下完之后,名字以android的,解壓到platforms里面; 以google_apis開頭的,解壓到addons里面。usb 驅(qū)動的,直接解壓到根目錄。

      安裝Eclipse插件 ADT

      ? Start Eclipse, then select Help > Install New Software.? In the Available Software dialog, click Add...? In the Add Site dialog that appears, enter a name for the remote site(for example, “Android Plugin”)in the “Name” field.In the “Location” field, enter this URL: https://dl-ssl.google.com/android/eclipse/ 如 果無法通過上面的地址獲得插件,可將https替換為http。(https is preferred for security reasons)? Back in the Available Software view, you should now see “Developer Tools” added to the list.? Select the checkbox next to Developer Tools, which will automatically select the nested tools Android DDMS and Android Development Tools.Click Next.? In the resulting Install Details dialog, the Android DDMS and Android Development Tools features are listed.? Click Next to read and accept the license agreement and install any dependencies, then click Finish.? Restart Eclipse.配置ADT

      在Eclipse中:

      ? 選擇Window > Preferences...? 在左邊的面板選擇Android,然后在右側(cè)點(diǎn)擊Browse...并選中SDK路徑,本機(jī)為:

      C:Androidandroid-sdk-windows ? 點(diǎn)擊Apply、OK。配置完成。創(chuàng)建AVD

      為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。

      ? 在Eclipse中。選擇Windows > Android SDK and AVD Manager ? 點(diǎn)擊左側(cè)面板的Virtual Devices,在右側(cè)點(diǎn)擊New ? 填入Name,選擇Target的API,SD Card大小任意,Skin隨便選,Hardware目前保持默認(rèn)值

      ? 點(diǎn)擊Create AVD即可完成創(chuàng)建AVD Create a New Android Project

      After you've created an AVD, the next step is to start a new Android project in Eclipse.1.From Eclipse, select File > New > Project.If the ADT Plugin for Eclipse has been successfully installed, the resulting dialog should have a folder labeled “Android” which should contain “Android Project”.(After you create one or more Android projects, an entry for “Android XML File” will also be available.)2.Select “Android Project” and click Next.3.Fill in the project details with the following values: o Project name: HelloAndroid o Application name: Hello, Android o Package name: com.example.helloandroid(or your own private namespace)o Create Activity: HelloAndroid o Min SDK Version: 7 Click Finish.Here is a description of each field:

      Project Name

      This is the Eclipse Project name — the name of the directory that will contain the project files.Application Name

      This is the human-readable title for your application — the name that will appear on the Android device.Package Name

      This is the package namespace(following the same rules as for packages in the Java programming language)that you want all your source code to reside under.This also sets the package name under which the stub Activity will be generated.Your package name must be unique across all packages installed on the Android system;for this reason, it's very important to use a standard domain-style package for your applications.The example above uses the “com.example” namespace, which is a namespace reserved for example documentation — when you develop your own applications, you should use a namespace that's appropriate to your organization or entity.Create Activity

      This is the name for the class stub that will be generated by the plugin.This will be a subclass of Android's Activity class.An Activity is simply a class that can run and do work.It can create a UI if it chooses, but it doesn't need to.As the checkbox suggests, this is optional, but an Activity is almost always used as the basis for an application.Min SDK Version(這個(gè)是 設(shè)置程序希望運(yùn)行在的系統(tǒng)版本)================================== Tips: 這里的Min SDK Version會根據(jù)我們選擇的Build Target改變,表示程序?qū)⑦\(yùn)行在哪個(gè)系統(tǒng)版本之上,對應(yīng)的數(shù)值關(guān)系如下: Android 1.5:Level API 3 Android 1.6:Level API 4 Android 2.01:Level API 6 Android 2.1:Level API 7 我們這里選擇Android 2.1,故Min SDK Version為7

      ================================== This value specifies the minimum API Level required by your application.If the API Level entered here matches the API Level provided by one of the available targets, then that Build Target will be automatically selected(in this case, entering “2” as the API Level will select the Android 1.1 target).With each new version of the Android system image and Android SDK, there have likely been additions or changes made to the APIs.When this occurs, a new API Level is assigned to the system image to regulate which applications are allowed to be run.If an application requires an API Level that is higher than the level supported by the device, then the application will not be installed.Other fields: The checkbox for “Use default location” allows you to change the location on disk where the project's files will be generated and stored.“Build Target” is the platform target that your application will be compiled against(this should be selected automatically, based on your Min SDK Version).Notice that the “Build Target” you've selected uses the Android 1.1 platform.This means that your application will be compiled against the Android 1.1 platform library.If you recall, the AVD created above runs on the Android 1.5 platform.These don't have to match;Android applications are forward-compatible, so an application built against the 1.1 platform library will run normally on the 1.5 platform.The reverse is not true.Your Android project is now ready.It should be visible in the Package Explorer on the left.Open the HelloAndroid.java file, located inside HelloAndroid > src > com.example.helloandroid).It should look like this: 下面是點(diǎn)完Finish按鈕之后自動生成的代碼: package com.example.helloandroid;import android.app.Activity;import android.os.Bundle;public class HelloAndroid extends Activity { /** Called when the activity is first created.*/ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);} } Notice that the class is based on the Activity class.An Activity is a single application entity that is used to perform actions.An application may have many separate activities, but the user interacts with them one at a time.The onCreate()method will be called by the Android system when your Activity starts — it is where you should perform all initialization and UI setup.An activity is not required to have a user interface, but usually will.Now let's modify some code!構(gòu)建 UI

      Take a look at the revised code below and then make the same changes to your HelloAndroid class.The bold items are lines that have been added.下面讓我們修改一下代碼:

      package com.android.helloandroid;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class HelloAndroid extends Activity { /** Called when the activity is first created.*/ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);TextView tv = new TextView(this);tv.setText(“Hello, Android”);setContentView(tv);} } 執(zhí)行代碼:Hello,Android

      Eclipse的插件使得你的程序很容易運(yùn)行。選擇Run>Open Run Dialog菜單。(Eclipse3.4版本中,菜單為Run->Run Configurations)可以看到這樣的對話框。

      下一步,選擇“Android Application”,點(diǎn)擊在左上角(按鈕像一張紙上有個(gè)“+”號)或者雙擊“Android Application”。有個(gè)新的選項(xiàng)“New_configuration”。

      將名字改得更形象一點(diǎn),如“Hello,Android”,然后按Browse按鈕選擇你的項(xiàng)目,(如果你Eclipse里有多個(gè)Android項(xiàng) 目需要打開,確定要選擇正確)插件會會自動掃描你項(xiàng)目里的活動子類,然后在“活動”的下拉菜單里加載。如果你的“Hello,Android”項(xiàng)目只有一 個(gè),它將被設(shè)置為默認(rèn)項(xiàng)目,然后你可以繼續(xù)。

      點(diǎn)擊“Apply”按鈕,這里有個(gè)例子: 這樣就可以了,點(diǎn)擊“Run”按鈕,Android的模擬器啟動。一啟動你的程序就會出現(xiàn),當(dāng)一切OK,你可以看到: 這樣就可以了,點(diǎn)擊 “Run”按鈕,Android的模擬器啟動。啟動完畢后你的程序就會出現(xiàn),如果不出現(xiàn),有時(shí)候是因?yàn)橛墟I盤鎖的原因,用鼠標(biāo)將 鍵盤鎖解開就一切OK,你可以看到:Hello Android.使用XML構(gòu)建UI

      你剛 剛完成的“Hello, World”的例子使用的是我們稱為“可編程”的UI層,意思是你通過編寫代碼來組建UI層。當(dāng)你開發(fā)了足夠多的UI程序,你會發(fā)現(xiàn)一些很糟糕的現(xiàn)象: 一些小的變化需要你做大量的代碼改動。你常常會忘記將View連接起來,這樣會導(dǎo)致一些錯(cuò)誤,浪費(fèi)你很多時(shí)間去調(diào)試代碼。這就是Android為 什么提供一個(gè)可變化的UI開發(fā)模塊:基于XML的文件。最簡單解釋這個(gè)概念就是演示個(gè)例子。這里有個(gè)XML的文件,它能達(dá)到和你剛才完成代碼同樣的效果: 通常Android里XML文件結(jié)構(gòu)是很簡單 的。只是一些標(biāo)記的樹形集合,每個(gè)標(biāo)記就是一個(gè)視圖類。在這個(gè)例子中,它就是一個(gè)簡單的 TextView元素的樹,你可以在XML文件里使用任何擴(kuò)展類的名字作為你的標(biāo)記,這也包括你在你的自己的代碼里定義的名字。這個(gè)結(jié)構(gòu)使得你能使用簡單 結(jié)構(gòu)和語法快速的組建UI,這種模型就像網(wǎng)站的開發(fā)模型,你能夠?qū)I和程序邏輯分開,單獨(dú)獲取或者填充數(shù)據(jù)。

      在這個(gè)例子里,有4個(gè)XML屬 性,下面是屬性的大概意思:

      xmlns:android 這是一個(gè)XML命名空間,告訴Android開發(fā)工具你準(zhǔn)備使用Android命名空間里的一些通用屬性。在所有Android XML設(shè)計(jì)文件中最外層的標(biāo)記必須使用這個(gè)屬性。

      android:layout_width 這個(gè)屬性定義了這個(gè)視圖需要占用的屏幕寬度。在這個(gè)例子中,我們僅有的一個(gè)視圖可以占用整個(gè)屏幕,那就是“fill_parent”的意思。

      android:layout_height 這個(gè)和“l(fā)ayout_width”差不多,表示占用屏幕的高度。

      android:text 這個(gè)設(shè)置文本顯示內(nèi)容,在這個(gè)例子里,我們使用“Hello,Android”。

      這就是XML的布局,你需要把這個(gè)文件放在什么位 置? 放在你的工程/res/layout下就可以?!皉es”是“resource”的簡稱,這個(gè)目錄包含了所有應(yīng)用程序需要的非代碼部分。比如圖片、字符 串、XML文件。

      Eclipse插件為你創(chuàng)建了這些XML文件中的一個(gè)。在我們上面的范例,我們根本沒有使用過它。在包的管理器里,展開 目錄/res/layout,編輯main.xml文件,替換上面的文本然后保存修改。

      在從代碼目錄里打開 HelloAndroid/gen/com.example.helloandroid/R.java文件,你可以看到他們像這樣: public final class R { public static final class attr { };public static final class drawable { public static final int icon=0x7f020000;};public static final class layout { public static final int main=0x7f030000;};public static final class string { public static final int app_name=0x7f040000;};};R.java是文件中所有資源的索引界定值定義。你在代碼中使用這個(gè)類,就像在你的項(xiàng)目里使用一個(gè)簡潔的方法表示你 的資源。在Eclipse這樣的IDE工具里,這個(gè)方式對于代碼自動完成功能還是非常有效的,因?yàn)檫@能讓你快速得定位你要尋找的東西。

      有個(gè)重要點(diǎn) 需要注意的是有個(gè)內(nèi)部類“main”,是“l(fā)ayout”的成員類。Eclipse插件提醒你加了一個(gè)新的XML文件,然后生成R.java文件,當(dāng)你加 入其他資源到你的工程里,你可以看到R.java在同步更改。

      第二篇:廈門手機(jī)開發(fā)培訓(xùn)關(guān)于Android開發(fā)環(huán)境的構(gòu)建方法總結(jié)

      廈門手機(jī)開發(fā)培訓(xùn)關(guān)于Android開發(fā)環(huán)境的構(gòu)建方法總結(jié)

      廈門博看文思本方法適用于AndroidSDK2.1環(huán)境下的程序開發(fā)

      安裝JDK

      ?在java.sun.com下載JDK并安裝。

      ?在“系統(tǒng)屬性”的“高級”選項(xiàng)卡中點(diǎn)擊“環(huán)境變量”,然后添加如下系統(tǒng)環(huán)境變量:

      1.在PATH環(huán)境變量后追加JDK安裝路徑中的bin路徑,本機(jī)為:

      C:ProgramFilesJavajdk1.6.0_18bin

      2.新建CLASSPATH環(huán)境變量或在CLASSPATH環(huán)境變量后追加JDK安裝路徑中的lib路徑和demo路徑,本機(jī)為:

      C:ProgramFilesJavajdk1.6.0_18demo;C:ProgramFilesJavajdk1.6.0_18lib安裝Eclipse

      ?在eclipse.org下載EclipseIDEforJavaDevelopers的Windows32bit版本。?下載完成后解壓即可使用。

      安裝AndroidSDKOR離線安裝

      ?在AndroidDevelopers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。

      ?運(yùn)行SDKSetup.exe,點(diǎn)擊AvailablePackages,如果沒有出現(xiàn)可安裝的包請點(diǎn)擊Settings,選中Misc中的“Forcehttps://...”這項(xiàng),再點(diǎn)擊AvailablePackages。

      ?選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊InstallationSelected、AcceptAll、InstallAccepted,開始下載安裝所選包

      ?添加SDK安裝目錄中的tools文件夾路徑至系統(tǒng)PATH環(huán)境變量,本機(jī)為:C:Androidandroid-sdk-windowstools

      關(guān)于離線安裝

      用廈門博看文思上面方法更新的時(shí)候速度很慢。

      更要等很久。所以我們可以直接把那些包下載下來安裝。

      地址就是

      https://dl-ssl.google.com/androi...2.0_r01-windows.zip

      https://dl-ssl.google.com/androi...2.1_r01-windows.zip

      https://dl-ssl.google.com/androi...-1.1_r1-windows.zip

      https://dl-ssl.google.com/androi...1.5_r03-windows.zip

      https://dl-ssl.google.com/androi...1.6_r02-windows.zip

      https://dl-ssl.google.com/androi...ver_r03-windows.zip

      https://dl-ssl.google.com/androi...ogle_apis-6_r01.zip

      https://dl-ssl.google.com/androi...ogle_apis-5_r01.zip

      https://dl-ssl.google.com/androi...ogle_apis-4_r02.zip

      https://dl-ssl.google.com/androi...ogle_apis-7_r01.zip

      下完之后,名字以android的,解壓到platforms里面;

      以google_apis開頭的,解壓到addons里面。

      usb驅(qū)動的,直接解壓到根目錄。

      安裝Eclipse插件ADT

      ?StartEclipse,thenselectHelp>InstallNewSoftware.?IntheAvailableSoftwaredialog,clickAdd...?

      IntheAddSitedialogthatappears,enteranamefortheremotesite(forexample,“AndroidPlugin”)inthe“Name”field.Inthe“Location”field,enterthisURL:

      https://dl-ssl.google.com/android/eclipse/

      如果無法通過上面的地址獲得插件,可將https替換為http。

      (httpsispreferredforsecurityreasons)

      BackintheAvailableSoftwareview,youshouldnowsee“DeveloperTools”addedtothelist.?

      SelectthecheckboxnexttoDeveloperTools,whichwillautomaticallyselectthenestedtoolsAndroidDDMSandAndroidDevelopmentTools.ClickNext.?

      IntheresultingInstallDetailsdialog,theAndroidDDMSandAndroidDevelopmentToolsfeaturesarelisted.?

      ClickNexttoreadandacceptthelicenseagreementandinstallanydependencies,thenclickFinish.?RestartEclipse.配置ADT

      在Eclipse中:

      ?選擇Window>Preferences...?在左邊的面板選擇Android,然后在右側(cè)點(diǎn)擊Browse...并選中SDK路徑,本機(jī)為:C:Androidandroid-sdk-windows

      ?點(diǎn)擊Apply、OK。配置完成。

      創(chuàng)建AVD

      為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。

      ?在Eclipse中。選擇Windows>AndroidSDKandAVDManager

      ?點(diǎn)擊左側(cè)面板的VirtualDevices,在右側(cè)點(diǎn)擊New

      ?填入Name,選擇Target的API,SDCard大小任意,Skin隨便選,Hardware目前保持默認(rèn)值

      ?點(diǎn)擊CreateAVD即可完成創(chuàng)建AVD

      第三篇:Eclipse android開發(fā)環(huán)境搭建總結(jié)

      環(huán)境組成:Eclipse4.2+JDK 1.6+Android SDK v21+ ADT

      一、安裝Eclipse + JDK

      Eclipse是一款免費(fèi)開源的開發(fā)工具,它提供的僅僅是一個(gè)框架,其特點(diǎn)在于插件開發(fā),即它可以添加插件,根據(jù)不同的功能需求只需安裝相應(yīng)的插件即可。

      Eclipse是一款輕量級的插件,直接點(diǎn)擊exe文件即可運(yùn)行,不需安裝,不需寫入注冊表等各種操作。據(jù)說3.8版本性能要高于4.2.Eclipse本身并不包括JDK,(MyEclipse也是如此)因此還要自己安裝JDK。JDK包括一些可執(zhí)行文件和類庫,比如JAVA編譯器、JRE(java運(yùn)行時(shí)環(huán)境,即java虛擬機(jī),java程序運(yùn)行比不可少)。據(jù)說JDK1.6運(yùn)行速度要比其他版本要好很多。JDK可直接運(yùn)行,安裝完之后,還要添加環(huán)境變量,這里我有點(diǎn)疑惑,書上寫的和網(wǎng)上查的不一樣,為保險(xiǎn)起見我取了并集: 首先添加Path=C:Program FilesJavajdk1.6.0_24bin和C:Program FilesJavajdk1.6.0_24jre bin,然后添加classPath=C:Program FilesJavajdk1.6.0_24lib和C:Program FilesJavajdk1.6.0_24libtools.jar.這樣JDK安裝完畢。

      二、Android SDK安裝

      首先下載Android SDK,我在網(wǎng)上隨便搜的,好像這個(gè)SDK要與Eclipse版本匹配才行,因此在搜時(shí)要注明Eclipse的版本。然后運(yùn)行SDK Manager,這才是真正的下載Android SDK,文件很多,速度超級慢,得幾個(gè)小時(shí)。網(wǎng)上有快的方法,但是挺復(fù)雜。下載的內(nèi)容主要是各個(gè)SDK版本的platform以及API。然后添加該文件夾下的tools文件夾目錄添加到path環(huán)境變量中。

      三、Eclipse安裝ADT

      ADT是一個(gè)插件,google開發(fā)的方便在Eclipse下進(jìn)行安卓開發(fā)的插件,其實(shí)用記事本程序同樣可以開發(fā)安卓程序,只不過這樣更方便。

      這要利用Eclipse的自動下載功能,方法是在Eclipse菜單中選擇安裝新軟件,然后輸入https://dl-sll.google.com/android/eclipse,然后會自動搜索相關(guān)軟件。我剛開始選擇全部安裝,但是每次都失敗,后來只選擇了DDMS和android development tools就成功了。

      這樣開發(fā)環(huán)境就搭建好了。

      Ps.然后還要?jiǎng)?chuàng)建android開發(fā)的模擬器,這個(gè)要用到AVDM,網(wǎng)上很多教程,很簡單就搜到,我也沒搞清楚怎么回事,只是按照步驟創(chuàng)建成功了。

      第四篇:Android項(xiàng)目開發(fā)總結(jié)

      項(xiàng)目開發(fā)總結(jié)報(bào)告

      1引言

      1.1編寫目的

      總結(jié)開發(fā)經(jīng)驗(yàn)與學(xué)習(xí)中的不足

      1.2背景

      以方便用戶記錄日常學(xué)習(xí)心得,生活體會為目的,進(jìn)行主題為“隨心筆記”的應(yīng)用開發(fā)

      2實(shí)際開發(fā)結(jié)果

      2.1產(chǎn)品

      2.2主要功能和性能

      能夠查看筆記的目錄,記錄筆記完成時(shí)間。能夠改變主題顏色,目錄排版方式,擁有簡潔的主題。對于涂鴉功能,插入圖片,密碼鎖等功能未能實(shí)現(xiàn)。

      3開發(fā)工作評價(jià)

      3.1對產(chǎn)品質(zhì)量的評價(jià)

      本應(yīng)用擁有簡單實(shí)用的功能,能夠滿足一般用戶的需要

      3.3對技術(shù)方法的評價(jià)

      開發(fā)中使用了軟件工程中的增量開發(fā)模型,黑盒測試等技術(shù),使開發(fā)逐步向前發(fā)展

      3.4出錯(cuò)原因的分析

      對于部分Android版本支持性不好,不能正常使用安裝等

      4經(jīng)驗(yàn)與教訓(xùn)

      通過這次開發(fā),我們體驗(yàn)了開發(fā)不易,需要很多人員的合作。開發(fā)過程中,必須明確整體目標(biāo),不能東一榔頭,西一棒槌。另外由于學(xué)習(xí)時(shí)間短,對很多東西都不太了解,還好通過CSDN等一些網(wǎng)站能夠找到有益的幫助,感謝那些博客,論壇。

      第五篇:Android開發(fā)基本知識總結(jié)-Android課件

      Android開發(fā)基礎(chǔ)教程

      2015-4-13周一2CJ02 目錄

      1.什么是Android? 2.Android應(yīng)用開發(fā)環(huán)境 3.Gradle 4.模擬器Emulator 5.開發(fā)一個(gè)安卓應(yīng)用程序的步驟 6.關(guān)于多個(gè)模擬器的問題 7.安卓工程文件的結(jié)構(gòu) 8.android界面文件---xml文件 9.android程序文件---java文件 10.界面布局方式 11.幾個(gè)常用組件 12.Roast組件 13.對話框AlertDialog 14.幾條重要的語句 15.監(jiān)聽器Listener 16.識別響應(yīng)事件的組件 17.界面切換

      18.界面之間的數(shù)據(jù)傳遞 19.Activity生命周期 20.多媒體播放

      21.日志文件在程序調(diào)試中的使用 22.使用XML文件保存數(shù)據(jù)

      23.使用TXT文件保存數(shù)據(jù) 24.使用數(shù)據(jù)庫保存數(shù)據(jù) 25.時(shí)間組件 26.線程Thread 27.視頻播放VideoView 28.MediaPlayer,SurfaceView和SurfaceHolder播放視頻 29.錄制音頻MediaRecorder 30.菜單組件

      1.什么是Android? 移動設(shè)備(常常指手機(jī)mobile)的操作系統(tǒng),由google公司出品,是免費(fèi)的, 最早是基于Linux平臺的;目前已經(jīng)推出的Android3.0是平板電腦上的操作系統(tǒng)。

      其它的手機(jī)操作系統(tǒng)有:iPhone系統(tǒng)等。

      手機(jī)廠商:三星(Samsung,宏達(dá)電(HTC),摩托羅拉(Motorola),華碩,索尼,Garmin等都支持iPhone系統(tǒng)。

      Android系統(tǒng)功能:自定義用戶界面,支持藍(lán)牙,多點(diǎn)觸摸,具有導(dǎo)航功能和語音識別功能,結(jié)合了google地圖。

      Android軟件開發(fā)工具SDK

      4.0。

      Android系統(tǒng)特點(diǎn):虛擬鍵盤,以WebKit為核心的WebView組件,可以使用HTML, javascript等。

      2.Android應(yīng)用開發(fā)環(huán)境 Eclipse+ADT+Android SDK。ADT---Android開發(fā)工具插件(Android Plugs for Eclipse).開發(fā)環(huán)境安裝注意事項(xiàng):關(guān)閉防毒軟件,按順序安裝,保持網(wǎng)絡(luò)暢通,比較耗時(shí)。特別說明,安裝和運(yùn)行需要高配置機(jī)器和高速網(wǎng)絡(luò),比較費(fèi)時(shí)。

      (1)安裝Java

      JDK。甲骨文

      網(wǎng)站: http://004km.cn ”);Intent in = new Intent(Intent.ACTIN_VIEW, uri);startActivity(in);(2)調(diào)用系統(tǒng)撥號界面

      Uri uri = Uri.parse(“tel:*** ”);Intent in = new Intent(Intent.ACTIN_DIAL, uri);startActivity(in);(3)調(diào)用系統(tǒng)撥號功能

      Uri uri = Uri.parse(“tel:*** ”);Intent in = new Intent(Intent.ACTIN_CALL, uri);startActivity(in);注意:需要在AndroidManifest.xml文件中進(jìn)行設(shè)置,才可以自動撥號: 18.界面之間的數(shù)據(jù)傳遞 1.方法1:調(diào)用無返回參數(shù) 在第一個(gè)界面中: Bundle bundle

      = new Bundle();bndle.pushString(“name”, “David”);bndle.pushInt(“age”, 22);//pushChar, putShort,put Boolean, pushChar等等

      Uri uri = Uri.parse(“http://004km.cn ”);Intent in = new Intent(Intent.ACTIN_VIEW, uri);in.putExtras(bundle);startActivity(in);在第二個(gè)界面中: Intent in = this.get Intent();Bundle bundle

      = in.getExtras();String studentName = bundle.getInt();//getDouble, 2.方法2:調(diào)用有返回參數(shù) 例1,在第一個(gè)界面中: private static final int ACTIVITY_EDIT = 1;Bundle bundle = new Bundle();bundle.pushString(“name”, “David”);Intent in = new Intent();

      getShort, getIntArray等 in.putExtras(bundle);in.setClass(FullscreenActivity.this, SecondActivity.class);startActivityForResult(in, ACTIVITY_EDIT);注意:startActivityForResult后所有語句無效,不執(zhí)行;在第一個(gè)界面中,第二個(gè)界面可以在不同位置被多次調(diào)用;在第一個(gè)界面中,在其它位置可以調(diào)用其它界面。

      在第一個(gè)界面中,重寫onActivityResult,接收所有被調(diào)用界面返回的參數(shù)(如果有):@Override protected void onActivityResult(int

      requestCode,int resultCode,Intent

      data){ super.onActivityResult(requestCode, resultCode, data);if(requestCode== ACTIVITY_EDIT)

      //此參數(shù)可以區(qū)分不同的調(diào)用

      {

      Bundle bundle = data.getExtras();if(resultCode == RESULT_OK)

      //此參數(shù)可以判斷有無返回參數(shù)

      {

      Bundle bundle = data.getExtras();……

      } if

      (resultCode == RESULT_CANCELED)

      { } }

      …… } ……

      問題

      :如何判斷被調(diào)用界面是否傳遞返回參數(shù)?如何區(qū)分返回參數(shù)是由不同的被調(diào)用界面?zhèn)鬟f的?android的這種解決方法并不是完美的。例2,在第二個(gè)界面中:

      讀取第一個(gè)界面?zhèn)鬟f的參數(shù),省略;下面是向調(diào)用程序傳遞返回參數(shù): Bundle bundle

      = new Bundle();bndle.pushString(“name”, “賀昌峰373780592”);Intent

      setResult(RESULT_CANCELED);//傳遞參數(shù)返回

      // 或setResult(RESULT_OK, in);//不傳遞參數(shù)返回 finish();注意:這時(shí),第二個(gè)界面返回到第一個(gè)界面,可以不傳遞參數(shù)直接返回(RESULT_CANCELED),in = new Intent();

      in.putExtras(bundle);也可以傳遞參數(shù)返回(RESULT_OK)。19.Activity生命周期

      onCreate

      ---onStart

      ---onResume

      ---onPause---onStop

      ---onDestroy 也就是說,有: protected void oncreate(…){ ….} protected void onStart(…){ ….} protected void onResume(…){ ….} protected void onPause(…){

      ….} protected void onStop(…){ ….} protected

      void onDestroy(…){ ….} 20.多媒體播放MediaPlayer public MediaPlayer player = new MediaPlayer();//生成語句可省略 try{ player.reset();

      //重新播放音樂

      player.setDataSource(“/sdcard/music/music_file_name.mp3”);

      // player = MediaPlayer.create(getApplicationContext(), R.raw.music);

      // 打開音樂文件

      //music為音樂資源文件

      player.prepare();player.start();

      // player.isPlaying()

      //準(zhǔn)備播放 //播放音樂

      //判斷是否正在播放

      //音樂播放完成觸發(fā)事件

      player.setOnCompletionListener(new OnCompletionListener){ public void onCompletion(){ //音樂播放完成后,處理代碼 } }

      player.pause();player.start();player.stop();

      } catch(IllegalStateException e){ ……} catch(IOException e){ ……}

      //播放暫停 //繼續(xù)播放音樂 //停止播放音樂 player.release();

      //釋放存儲空間

      //注意:可以播放存儲卡上任意一個(gè)音樂文件;也可以播放資源列表中的音樂文件 21.日志文件在程序調(diào)試中的使用

      import android.util.Log;對應(yīng)的方法有:debug,verbose,info,warn,error。注意,使用簡寫。問題:如何查看系統(tǒng)日志文件?

      Log.d(“這里是分類標(biāo)簽”, “這里是輸出信息”);22.使用XML文件保存數(shù)據(jù)

      對XML文件進(jìn)行操作,形式為(key,value)。SharedPreferences

      sp = get SharedPreferences(文件名,權(quán)限);

      權(quán)限:MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE 例:

      //1打開XML文件 SharedPreferences

      //2更改數(shù)據(jù)

      Editor editor = sp.eidt();

      //更改數(shù)據(jù)

      sp = get SharedPreferences(“myconfig”,MODE_PRIVATE);

      editor.putString(“name”, “賀昌峰373780592”);editor.putInt(“age”, 48);editor.putFloat(“salary”, 2048.5);//putLong,putBoolean等;

      editor.commit();

      //保存數(shù)據(jù)

      //3讀取數(shù)據(jù)

      String myname = sp.getString(“name”, “”);

      //4刪除數(shù)據(jù)

      editor.remove(“name”);//刪除數(shù)據(jù) editor.commit();

      editor.clear();//刪除全部數(shù)據(jù) editor.commit();

      //5簡寫形式如下: Editor editor = sp.eidt()

      //更改數(shù)據(jù)

      //讀取數(shù)據(jù)

      .putString(“name”,.commit();

      “賀昌峰”)23.使用TXT文件保存數(shù)據(jù) FileOutPutStream

      fout = openFileOutput(文件名, 文件權(quán)限);文件權(quán)限: MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE

      1.在文件中寫入數(shù)據(jù)

      try { //打開TXT文件 FileOutPutStream

      BufferedOutputStream

      String

      //向文件中寫入數(shù)據(jù)

      bufferoutput.write(s.getBytes());s = “大家跟我學(xué)習(xí)android”;

      bufferoutput = new BufferedOutputStream(fout);fout = openFileOutput(“myconfig.txt”, MODE_PRIVATE);

      //關(guān)閉文件 bufferoutput.close();fout.close();} Catch(Exception e){

      2.從文件中讀取數(shù)據(jù)

      try { FileInputStream

      BufferedInputStream

      byte[] bufferbytes = new byte[20];int flag = bufferoutput.read(bufferbytes);if(flag==-1){ //文件讀取到文件末尾,否則可以繼續(xù)讀出

      }

      //僅讀取長度為20個(gè)字節(jié)的數(shù)據(jù)

      bufferoutput = new BufferedInputStream(fout);

      fout = openFileInput(“myconfig.txt”);

      //打開文件

      e.printStackTrace();} bufferoutput.close();fout.close();} Catch(Exception e){

      24.使用數(shù)據(jù)庫保存數(shù)據(jù) 1.數(shù)據(jù)庫相關(guān)類

      //關(guān)閉緩沖區(qū) //關(guān)閉文件

      e.printStackTrace();} import android.content.ContentValues;import android.content.Context;import android.database.Coursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;

      2.SQLiteDataBase類

      注意:數(shù)據(jù)庫操作時(shí),要求捕獲異常,此處省略。

      SQLiteDataBase db = openOrCreateDatabase(“databasename.db”, MODE_PRIVATE);//說明:數(shù)據(jù)庫權(quán)限同文件權(quán)限

      // Context就是this指針 db.execSQL(sql_exp): 執(zhí)行SQL語句

      Cursor cs = db.rawQuery(select_exp, null): 返回?cái)?shù)據(jù)集。Cursor cs1 = db.query(arg0, ……): 使用較繁瑣,可用rawQuery替換。

      db.insert(arg0, ……): 使用較繁瑣,可用rawQuery替換。db.delete(arg0, ……): 使用較繁瑣,可用rawQuery替換。db.update(arg0, ……):

      使用較繁瑣,可用rawQuery替換

      db.close(): 一般寫在onDestroy事件中。3.Cursor類 方法有:

      move, moveToPosition, moveToFirst, moveToLast,moveToNext, getCount(), getInt(),getString(),isNull(), isFirst()等等。

      4.ContentValues類

      一般用在SQLiteDataBase.insert中, 此處省略。

      ContentValues content

      = new ContentValues();

      content.put(“name”, “賀昌峰”);

      moveToPrevious, content.put(“age”, 48);5.SimpleCursorAdapter類

      SimpleCursorAdapter是界面組件如ListView和Cursor的橋梁。例, 在ListView組件listview1中,顯示數(shù)據(jù)集(有綁定功能嗎?):

      Cursor cs = db.rawQuery(“select SimpleCursorAdapter

      adapter

      * from table”, null);

      = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2, new String[]{“id”, “name”}, new int[]{ android.R.id.text1, android.R.id.text2});// 注意:第2個(gè)參數(shù)的作用

      listview1.setAdapter(cs);

      //在ListView組件顯示數(shù)據(jù)集

      25.時(shí)間組件

      1.常用組件AnalogClock,DigitClock 用法比較簡單,無需過多設(shè)置,僅僅顯示當(dāng)前時(shí)間:機(jī)械式,數(shù)字式

      2.計(jì)時(shí)組件:Chronometer 常用方法:start開始計(jì)時(shí), stop停止計(jì)時(shí), setBase設(shè)置時(shí)間 setFormat(“秒表:%s”):設(shè)置組件時(shí)間顯示格式。

      附:與時(shí)間格式有關(guān)的函數(shù) SimpleDateFormat String

      sformat = new SimpleDateFormats(“hh:mm:ss”);

      //得得當(dāng)前時(shí)間 s = sformat.format(new Date());

      例,Chronometer對象是chroTime: chroTime.setOnChronometerTickListeter(chrolisteten);

      private Chronometer.onChronometerTickListeter Chronometer.onChronometerTickListeter(){ @Override public

      void OnChronometerTickListeter(Chronometer chronomoter){ //每秒執(zhí)行一次該方法 } }

      3.計(jì)時(shí)組件Timer和TimerTask

      chrolisteten = new 常用函數(shù):schedule(TimerTask對象, Timer對象延遲時(shí)間, TimerTask對象間隔時(shí)間);

      TimerTask對象用法: private TimerTask { public void run(){ //按設(shè)定間隔調(diào)用執(zhí)行 handle.sendMessage(msg);//特別注意:此處不能對界面進(jìn)行更新,因?yàn)橛绊懹?jì)時(shí)精度,所有需要使用Handle配合。見下。} }

      4.Handle和Message的配合使用 Handle handle { public void handleMessage(){ super.handleMessage();//進(jìn)行其它處理 }

      = new Handle()

      timetask = new TimerTask()} Message

      msg.what = “******”;handle.sendMessage(msg);

      26.線程Thread

      1.Thread的定義

      public class ClockThread extends Thread{ @Override public void run(){ //進(jìn)行其它處理

      //注意:不會自動重復(fù)執(zhí)行多次的 } } 2.Thread的啟動、延時(shí)啟動、停止 使用Handle對線程進(jìn)行控制: msg = new Message();Handle handle = new Handle();

      ClockThread clock = new ClockThread();

      handle.post(clock);

      //啟動線程 5000);

      //延時(shí)5000ms啟動線程 //停止線程 handle.postDelayed(clock, handle.removeCallbacks(clock);

      問題:使用Handle有什么優(yōu)點(diǎn)? 27.視頻播放VideoView 支持的文件格式:H.264的mp4, wmv, 3gp等。1.視頻播放

      private VideoView

      videoview.setVideoPath(“/sdcard/robot.mp4”);//增加控制面板

      videoview.setMediaController(new MediaController(getApplicationContext()));

      videoview

      = new VideoView();videoview.start();//開始播放

      2.視頻準(zhǔn)備播放事件

      videoview.setOnPreparedListener(videoPreparedListener);videoview.setOnCompletionListener(videoCompletionListener);

      private MediaPlayer.onPreparedListener videoPreparedListener = new MediaPlayer.onPreparedListener(){ @Override public

      void onPrepared(MediaPlayer

      mp){ //視頻準(zhǔn)備播放 } }

      3.視頻播放完成事件

      private MediaPlayer.onCompletionListener videoCompletionListener = MediaPlayer.onCompletionListener(){ @Override public

      void onCompletion(MediaPlayer

      mp){

      new //視頻播放完成 } }

      28.MediaPlayer,SurfaceView和SurfaceHolder播放視頻

      MediaPlayer也可以播放視頻,需要SurfaceView和SurfaceHolder配合,其中SurfaceView為可視化組件可以播放視頻,SurfaceHolder為橋梁。

      private SurfaceView surfview = new SurfaceView();//此組件可視化設(shè)計(jì),無需這里聲明 private MediaPlayer

      surfholder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaplayer.setDisplay(surfholder);

      mediaplayer.setDataSource(“/sdcard/vedio.mp4”);mediaplayer.reset();

      //打開視頻文件

      mediaplayer = new MediaPlayer();

      = surfview.getHolder();private SurfaceHolder surfholder

      //重新播放視頻 mediaplayer.prepare();mediaplayer.start();mediaplayer.stop();mediaplayer.release();

      //準(zhǔn)備播放視頻 //播放視頻

      29.錄制音頻MediaRecorder MediaRecorder

      mediaRecorder.SetAudioSource(MediaRecorder.AudioSource.MIC);mediaRecorder.SetAudioEncode(MediaRecorder.AudioEncode.DEFAULT);mediaRecorder.SetOutputFormat(MediaRecorder.OutputFormat.DEFAULT);mediaRecorder.SetOutputFile(“/sdcard/recorder.amr”);mediaRecorder.prepare();mediaRecorder.start();

      注意:要有寫入SD卡的權(quán)限,在AndroidManifest.xml文件中:

      //準(zhǔn)備錄音 //開始錄音

      mediaRecorder = new MediaRecorder(); :

      1.附1:ImageView.setAlpha(50)的含義?設(shè)置透明色 2.附2:遍歷目錄下所有文件: private File pathfile;pathfile = Environment.getExternalStorageDirectory();

      //疑問:pathfile + ”/myfilename.txt” 這個(gè)用法正確嗎? for(File file: pathfile.listFiles()){ if {(file.getName().toLowerCase().endsWith(“.amr”))……

      // File.getAbsolutePath(), File.getName()的區(qū)別 } } 30.菜單組件 //添加系統(tǒng)菜單 protected protected static final int MENU_ABOUT

      = Menu.FIRST;static final int MENU_QUIT = Menu.FIRST + 1;

      //得到SD卡路經(jīng) protected

      @Override static final int MENU_EDIT = Menu.FIRST + 2;public boolean onCreateOptionsMenu(Menu menu){ menu.add(0,MENU_ABOUT,0,“關(guān)于本軟件...”).setShortcut('0','A');

      menu.add(0,MENU_QUIT,1,“結(jié)束”).setShortcut('1','E');

      menu.add(0,MENU_EDIT,2,“編輯”).setShortcut('2','D');

      menu.add(0,MENU_FILE,3,“文件”).setShortcut('3','F');

      return super.onCreateOptionsMenu(menu);} //添加菜單響應(yīng)事件 @Override public boolean onOptionsItemSelected(MenuItem switch(item.getItemId()){ case MENU_ABOUT: // 響應(yīng)處理 break;case MENU_QUIT: // 響應(yīng)處理 break;}

      return super.onOptionsItemSelected(item);}

      //添加快捷菜單 protected static final int MENU_BACKCOLOR protected static final int MENU_SMALLSIZE =

      item){

      = Menu.FIRST;

      Menu.FIRST + 1;//定義快捷菜單組件 private LinearLayout private TextView

      layout;

      txtview1,txtview2;在onCreate中, 增加以下語句: layout =(LinearLayout)findViewById(R.id.layout);txtview1 =(TextView)findViewById(R.id.txtview1);txtview2 =(TextView)findViewById(R.id.txtview2);registerForContextMenu(txtview1);registerForContextMenu(txtview2);

      在java文件類中, 增加以下語句: @Override public boolean onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){ //注意:父類函數(shù)先調(diào)用,或最后調(diào)用? super.onCreateOptionsMenu(menu, v, menuInfo);

      if(v == txtview1)menu.add(0, MENU_BACKCOLOR,0,“設(shè)置背景顏色”); if(v == txtview2)menu.add(0, MENU_SMALLSIZE,1,“較小字體”);

      }

      //添加菜單響應(yīng)事件 @Override public boolean onContextItemSelected(MenuItem switch(item.getItemId()){ case MENU_BACKCOLOR: // 響應(yīng)處理

      layout.setBackgroundColor(Color.BLUE);break;case MENU_SMALLSIZE: // 響應(yīng)處理

      txtview2.setTextSize(12);break;}

      return super.onContextItemSelected(item);}

      item){

      下載關(guān)于Android 開發(fā)環(huán)境的構(gòu)建方法總結(jié)word格式文檔
      下載關(guān)于Android 開發(fā)環(huán)境的構(gòu)建方法總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        Qualcomm平臺android開發(fā)總結(jié)

        1、 高通平臺android開發(fā)總結(jié). 7 1.1 搭建高通平臺環(huán)境開發(fā)環(huán)境. 7 1.2 搭建高通平臺環(huán)境開發(fā)環(huán)境. 7 1.2.1 高通android智能平臺概述. 7 1.2.1.1 什么是L4,REX,BREW,AMSS以......

        Android開發(fā)優(yōu)勢總結(jié)(推薦五篇)

        Android開發(fā)優(yōu)勢總結(jié) 來源:扣丁學(xué)堂 目前市場上的移動端有兩種形式,一種是Android開發(fā),另一種是ios開發(fā),其中Android開發(fā)方面的人員要多一些,今天我們就一起來看一下扣丁學(xué)堂Andr......

        android開發(fā)實(shí)習(xí)報(bào)告總結(jié)

        Android開發(fā)實(shí)習(xí)總結(jié) 有一名話叫做:不經(jīng)過風(fēng)雨,怎么見彩虹?我想改一下:不真正進(jìn)入社會,怎能了解社會呢? 在這次實(shí)習(xí)中,給我收獲最大的是我覺得很多工作需要我去摸索和探討,要不怕吃......

        Android開發(fā)Info類總結(jié)

        Android開發(fā)Info類總結(jié)首先我們來看一下PackageItemInfo,它是包含了一些信息的基類,它的直接子類有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupI......

        Android應(yīng)用程序開發(fā)-個(gè)人總結(jié)(最終定稿)

        《Android應(yīng)用開發(fā)》個(gè)人總結(jié)報(bào)告 一、 項(xiàng)目簡介: 送祝福App是一款逢年過節(jié)為方便發(fā)送祝福信息的軟件,并且介紹各種節(jié)日的相關(guān)情況。包含節(jié)日祝福短信,支持直接發(fā)送短信給好友......

        android 開發(fā)心得

        即 使你的應(yīng)用程序是快速且響應(yīng)靈敏的,但一些設(shè)計(jì)仍然會給用戶造成問題——與其它應(yīng)用程序或?qū)υ捒蛭词孪扔?jì)劃的交互,意外的數(shù)據(jù)丟失,意料之外的阻塞等等。 避免這些問題,有助于......

        Android開發(fā)中顏色的自定義方法

        歡迎登錄清源教育官方網(wǎng)站004km.cn 查看更多視頻教程 Android開發(fā)中顏色的自定義方法 1、使用Color類的常量,如: int color = Color.BLUE; // 創(chuàng)建一個(gè)藍(lán)色 是使用......

        android教程JNI開發(fā)疑點(diǎn)總結(jié)

        android教程JNI開發(fā)疑點(diǎn)總結(jié) 很多Android新手對于JNI開發(fā)過程中的疑問不是很清楚,根據(jù)android123@163.com郵箱中反饋的內(nèi)容我們整理如下: 1. JNI中,什么情況才處理jstring、ji......