




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、附件一:實(shí)驗(yàn)指導(dǎo)書(shū)基本編寫(xiě)格式要求1 預(yù)習(xí)要求:主要包括了解實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)原理,掌握實(shí)驗(yàn)器材,寫(xiě)出實(shí)驗(yàn)步驟及注意事項(xiàng),精心設(shè)計(jì)并用直尺畫(huà)好原始數(shù)據(jù)記錄表格。2 實(shí)驗(yàn)?zāi)康模阂f(shuō)明為什么要進(jìn)行該項(xiàng)實(shí)驗(yàn),擬解決什么問(wèn)題,具有什么意義等。10實(shí)驗(yàn)內(nèi)容:寫(xiě)出應(yīng)進(jìn)行的實(shí)驗(yàn)項(xiàng)目11實(shí)驗(yàn)原理:寫(xiě)出主要原理或公式,畫(huà)出原理圖等。要使用科學(xué)技術(shù)術(shù)語(yǔ),敘述應(yīng)正確、簡(jiǎn)潔、完整。12 實(shí)驗(yàn)儀器和設(shè)備:列出實(shí)驗(yàn)中所要使用的主要設(shè)備、儀器,對(duì)所用器材、儀器、元件應(yīng)介紹完全,包括名稱(chēng)、型號(hào)、規(guī)格、數(shù)量等。13 實(shí)驗(yàn)注意事項(xiàng):應(yīng)明確寫(xiě)明在每個(gè)實(shí)驗(yàn)過(guò)程中學(xué)生應(yīng)該注意的問(wèn)題,包括實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)儀器的使用、實(shí)驗(yàn)數(shù)據(jù)的采集等14實(shí)驗(yàn)步
2、驟:應(yīng)清晰準(zhǔn)確地寫(xiě)出實(shí)驗(yàn)步驟流程,包括實(shí)驗(yàn)操作的方法和步驟、操作注意事項(xiàng)等內(nèi)容。此外還包括實(shí)驗(yàn)數(shù)據(jù)的測(cè)量和選取方法觀察到的現(xiàn)象及注意事項(xiàng)等。15實(shí)驗(yàn)報(bào)告要求:應(yīng)寫(xiě)明實(shí)驗(yàn)報(bào)告中需分析的問(wèn)題,包括結(jié)果處理方法、觀察到的現(xiàn)象以及對(duì)它們的解釋、誤差處理及產(chǎn)生誤差的原因Android實(shí)驗(yàn)設(shè)計(jì)浙江大學(xué)計(jì)算機(jī)學(xué)院Google公司2010.06.浙江杭州實(shí)驗(yàn)一:系統(tǒng)安裝與HelloWorld【目的】安裝智能手機(jī)開(kāi)發(fā)相關(guān)軟件平臺(tái)?!疽蟆?、 完成智能手機(jī)開(kāi)發(fā)平臺(tái)安裝、以及相關(guān)配置2、 并實(shí)現(xiàn)Hello World3、 了解項(xiàng)目的基本文件目錄結(jié)構(gòu)【原理】Eclipse安裝原理,Android編程方法【過(guò)程】1、
3、 安裝JAVA JDK下載網(wǎng)址:2、 安裝Eclipse下載網(wǎng)址:直接解壓拷貝。3、 安裝Android或安裝Android的SDK。4、 安裝ADT(Android Development Tools)或5、 安裝手機(jī)USB驅(qū)動(dòng)或也可由系統(tǒng)自行搜索安裝,需將手機(jī)設(shè)置在“應(yīng)用開(kāi)發(fā)”功能上。如果用模擬器調(diào)試,則可暫時(shí)不裝。6、 建立新項(xiàng)目,實(shí)現(xiàn)Hello World。Open Eclipse.Click the menu File - New - Project.Expand the Android folder and select Android Project.Name the proje
4、ct HelloWorld得到的文件結(jié)構(gòu)如下:運(yùn)行:選運(yùn)行的設(shè)備,可以是模擬器,也可以是真機(jī)(如果已經(jīng)連接好真實(shí)手機(jī)的話):真手機(jī)模擬器模擬器運(yùn)行:真實(shí)手機(jī)調(diào)試:在Android的應(yīng)用開(kāi)發(fā)中,通常使用的是java語(yǔ)言開(kāi)發(fā),除了需要熟悉JAVA語(yǔ)言基礎(chǔ)知識(shí)之外,還需要了解Android提供擴(kuò)展的java功能。Android重要包的描述android.app封裝了Android應(yīng)用程序全局模型的高級(jí)類(lèi)。 android.content包含用于在設(shè)備上訪問(wèn)和發(fā)布數(shù)據(jù)的類(lèi)。 android.database包含了用于瀏覽內(nèi)容提供源返回?cái)?shù)據(jù)的類(lèi)。 包含了SQLLite數(shù)據(jù)庫(kù)管理類(lèi),應(yīng)用程序可以利用這些類(lèi)
5、來(lái)管理其私有數(shù)據(jù)庫(kù)。 android.graphics允許你直接在屏幕上繪圖的繪圖工具,比如畫(huà)布、顏色過(guò)濾器、點(diǎn)和矩形等。 提供了用于管理多種可視界面元素的類(lèi),這些可視界面元素僅用于顯示,例如bitmap和gradient。 提供了大量能夠在Android設(shè)備上使用OpenGL嵌入式系統(tǒng)版(OpenGL ES)繪圖的類(lèi). android.hardware提供對(duì)硬件設(shè)備的支持,這些硬件設(shè)備不一定會(huì)出現(xiàn)在每一個(gè)Android設(shè)備上。 android.location定義Android定位和相關(guān)服務(wù)的類(lèi)。 android.media定位,視頻,音頻 和相關(guān)的服務(wù)用于網(wǎng)絡(luò)連接的類(lèi),功能比.* 強(qiáng)大。
6、android.opengl提供OpenGL(高性能圖形算法行業(yè)標(biāo)準(zhǔn))工具。 3D加速等android.os提供設(shè)備上基礎(chǔ)的操作系統(tǒng)服務(wù)、信息傳遞和進(jìn)程間通信。 vider提供用于方便地訪問(wèn)Android支持的內(nèi)容提供源的類(lèi)。 android.sax一個(gè)可以方便地編寫(xiě)高效、健壯的SAX handler的框架。 提供用于語(yǔ)音識(shí)別的類(lèi)。 android.telephony提供了用于撥打、接收以及監(jiān)聽(tīng)電話和電話狀態(tài)的工具。 提供了用于從GSM電話上控制或讀取數(shù)據(jù)的類(lèi)。 android.text提供了用于在屏幕上繪制或跟蹤文本和文本跨度的類(lèi)。 提供了用于監(jiān)聽(tīng)或修改鍵盤(pán)輸入的類(lèi)。
7、提供了用于預(yù)覽或修改視圖對(duì)象中文本跨度形式的類(lèi)。 android.util提供了通用的工具方法,例如日期/時(shí)間操作、64位編碼解碼器、字符串?dāng)?shù)組互換方法和與XML相關(guān)的方法。 android.view提供了用于處理屏幕布局和用戶(hù)交互的基本UI類(lèi)。 提供了動(dòng)畫(huà)處理的類(lèi)android.webkit提供了瀏覽網(wǎng)頁(yè)的工具。 android.widgetwidget包包含了用在應(yīng)用程序屏幕上的UI元素(絕大部分可視)。 文件格式描述:Android的相關(guān)文件類(lèi)型:Java-應(yīng)用程序源文件Android本身相當(dāng)一部分是由java編寫(xiě)而成,而且android應(yīng)用必須使用java開(kāi)發(fā)class-java編譯后
8、的目標(biāo)文件:是由java虛擬機(jī)編譯而成一個(gè)字節(jié)碼文件,在之前我們用所學(xué)的j2ee以及j2se它是一個(gè)可執(zhí)行文件,但是在Android當(dāng)中它只是一個(gè)目標(biāo)文件即過(guò)渡文件dex-Android平臺(tái)可執(zhí)行文件:Android自己提供了一個(gè)虛擬機(jī)(Dalvik),這種虛擬機(jī)執(zhí)行的并非java字節(jié)碼,而是另一種字節(jié)碼:dex格式的字節(jié)碼,在JVM將java文件編譯成Class文件后,再次通過(guò)Android平臺(tái)工具將此Class文件轉(zhuǎn)換成dex字節(jié)碼apk文件-Android上的安裝文件Apk是Android安裝包的擴(kuò)展名,一個(gè)Android安裝包包含了與某個(gè)Android應(yīng)用程序相關(guān)的所有文件,apk文件
9、將androidManifest.xml文件,應(yīng)用程序代碼(dex文件)資源文件和其他文件打成一個(gè)壓縮包,一個(gè)工程只能打進(jìn)一個(gè)apk文件(有點(diǎn)類(lèi)似exe文件)。實(shí)驗(yàn)二:界面設(shè)計(jì):控件與布局【目的】Android編程基礎(chǔ),UI設(shè)計(jì)?!疽蟆?、 了解Android編程原理2、 掌握界面控件設(shè)計(jì)3、 掌握控件的事件處理編程【原理】UI設(shè)計(jì)原理【過(guò)程】1、 了解各種控件的基本功能各種控件:MenuTextView、EditText、ButtonRadio buttonListProgressBar;2、 了解布局Layout的應(yīng)用各種控件通過(guò)布局,確定在屏幕上顯示的方式,與相互位置關(guān)系。有設(shè)計(jì)一個(gè)良
10、好的要機(jī)界面,必須了解相關(guān)的布局,選擇合適的布局安排各個(gè)控件。多種Layout:AbsoluteLayoutFrameLayoutGridViewLinearLayoutListLayoutRadioGroupTableLayout3、 利用布局安排各種控件,設(shè)計(jì)良好用戶(hù)界面實(shí)驗(yàn)三:圖形繪制與OpenGL ES【目的】在屏幕繪制各種圖形,了解OpenGL【要求】1、 了解在屏幕繪圖方法2、 了解OpenGL【原理】【過(guò)程】1、 繪制直線、園、曲線等各種圖形2、 顯示字符3、 利用OpenGL ES編程方法Android中的圖形系統(tǒng)采用Client/Server架構(gòu)。Server (即Surfa
11、ceFlinger)主要由c+代碼編寫(xiě)而成。Client端代碼分為兩部分,一部分是由Java提供的供應(yīng)用使用的api,另一部分則是由c+寫(xiě)成的底層實(shí)現(xiàn)。Android圖形系統(tǒng)中通過(guò)surface為view創(chuàng)建一個(gè)Canvas對(duì)象,管理view在surface上的繪圖操作。View及其子類(lèi)(如TextView, Button)要畫(huà)在surface上。OpenGL ES (OpenGL for Embedded Systems) 是一個(gè)針對(duì)嵌入式應(yīng)用的,免費(fèi)的,支持全功能2D、3D的跨平臺(tái)API(OpenGL ES is a royalty-free, cross-platform API for
12、 full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles)。目前主要由3個(gè)版本,1.0,1.1,2.0。OpenGL ES 1.0 是以 OpenGL 1.3 規(guī)范為基礎(chǔ)的,OpenGL ES 1.1 是以 OpenGL 1.5 規(guī)范為基礎(chǔ)的,1.1完全兼容1.0。OpenGL ES 2.0 則是參照 OpenGL 2.0 規(guī)范定義的。簡(jiǎn)單的來(lái)說(shuō),OpenGL ES是OpenGL針對(duì)嵌入式應(yīng)用的簡(jiǎn)化版,也就是android使用的標(biāo)準(zhǔn)。Op
13、enGL ES 1.1強(qiáng)調(diào)api的硬件加速,OpenGL ES 2.0更強(qiáng)調(diào)3D能力。OpenGL ES 1.1和OpenGL ES 2.0之間的關(guān)系并不是舊版本和新版本之間的差別,而是一個(gè)針對(duì)相對(duì)低端的應(yīng)用,一個(gè)針對(duì)高級(jí)應(yīng)用,OpenGL官方的roadmap也是將這兩個(gè)版本并行發(fā)展的。2.X并不能百分百兼容1.X。Android現(xiàn)在支持1.X和2.X。OpenGL ES是專(zhuān)為內(nèi)嵌和移動(dòng)設(shè)備設(shè)計(jì)的一個(gè)2D/3D輕量級(jí)圖形庫(kù),它基于OpenGL API設(shè)計(jì),是OpenGL三維圖形API的子集。Android里有三個(gè)與OpenGL有關(guān)的包:android.openglpublicvoid onDr
14、awFrame(GL10 gl) /一般的opengl程序,首先要做的就是清屏gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);/緊接著設(shè)置模型視圖矩陣gl.glMatrixMode(GL10.GL_MODELVIEW);gl.glLoadIdentity();/清空矩陣GLU.gluLookAt(gl, 0, 0, 3, 0, 0, 0, 0, 1, 0);/視點(diǎn)變換,將相機(jī)位置設(shè)置為(0, 0, 3),同時(shí)指向(0, 0, 0)點(diǎn)/設(shè)置模型位置旋轉(zhuǎn)及縮放信息gl.glTranslatef(0.0f, 0.0f,
15、-1.0f);/將模型位置設(shè)置為(0, 0, -1)float angle = 30.0f;gl.glRotatef(angle, 0, 1, 0);/繞模型自身Y軸旋轉(zhuǎn)30度gl.glRotatef(angle, 1, 0, 0);/繞模型自身X軸旋轉(zhuǎn)30度gl.glScalef(1.2f, 1.2f, 1.2f);/設(shè)置三方向的縮放系數(shù)/設(shè)置顏色 gl.glColor4f(0.0f, 0.0f, 0.0f, 1.0f);/渲染立方體mCube.draw(gl, gl.GL_TRIANGLES);/mCube.draw(gl, gl.GL_LINES);實(shí)驗(yàn)四:網(wǎng)絡(luò)訪問(wèn)與服務(wù)【目的】掌握An
16、droid網(wǎng)絡(luò)訪問(wèn)方法【要求】1、 了解手機(jī)WEB網(wǎng)站訪問(wèn)編程2、 通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)訪問(wèn)3、 了解數(shù)據(jù)庫(kù)使用【原理】利用Android網(wǎng)絡(luò)訪問(wèn)協(xié)議【過(guò)程】1、 訪問(wèn)WEB網(wǎng)站,通過(guò)HttpResponse類(lèi),讀入網(wǎng)絡(luò)數(shù)據(jù)。Android SDK 網(wǎng)絡(luò)包:包描述Android網(wǎng)絡(luò)訪問(wèn) socket。該包包括URI 類(lèi),不僅僅是傳統(tǒng)的聯(lián)網(wǎng)方面。 處理Android有關(guān)Http協(xié)議類(lèi)。 在 Android 平臺(tái)上管理有關(guān) WiFi(802.11 無(wú)線 Ethernet)應(yīng)用的類(lèi)。 包含用于管理和發(fā)送 SMS(文本)消息的類(lèi)。讀入WEB數(shù)據(jù)例程:HttpClient client = new Defa
17、ultHttpClient();HttpGet get = new HttpGet(url);HttpResponse response = client.execute(get);HttpEntity entity = response.getEntity();/嘗試讀取entity的長(zhǎng)度,返回-1表示長(zhǎng)度未知long length = entity.getContentLength();InputStream is = entity.getContent();String s = null;if (is != null) ByteArrayOutputStream baos = new B
18、yteArrayOutputStream();byte buf = newbyte512;int ch = -1;int count = 0;while (ch = is.read(buf) != -1) baos.write(buf, 0, ch);count += ch;/如果長(zhǎng)度已知,可以通過(guò)taskProgress()通知監(jiān)聽(tīng)者任務(wù)執(zhí)行的比例if (length 0) listener.taskProgress(this, count, length);/為了更好的演示進(jìn)度,讓線程休眠100msThread.sleep(100);Log.e(HttpTask, length= + ba
19、os.toByteArray().length);/返回內(nèi)容s = new String(baos.toByteArray();return s;讀入網(wǎng)站數(shù)據(jù):實(shí)驗(yàn)五:硬件訪問(wèn)與傳感器【目的】通過(guò)底層API訪問(wèn)手機(jī)硬件及手機(jī)上的各種傳感器【要求】1、 獲取手機(jī)上電話、短信等各種功能的編程2、 了解手機(jī)上各種傳感器的功能與使用方法【原理】利用手機(jī)本身的功能與相關(guān)傳感器的使用【過(guò)程】1、 了解程序使用手機(jī)電話功能的方法短信收發(fā):發(fā)送短信只需要幾行代碼,如下:SmsManager sms = SmsManager.getDefault();PendingIntent pi = PendingInte
20、nt.getBroadcast(this, 0, new Intent(), 0);sms.sendTextMessage(phoneNumber, null, MsgStr, pi, null);其中參數(shù)phoneNumber和MsgStr均是String類(lèi)型,表示接收方的電話號(hào)碼和短信內(nèi)容接收短信主要是繼承BroadcaseReceiver 類(lèi) ,覆蓋onReceive 函數(shù):package com.android.TinySMS;import android.app.Activity;import;import android.content.BroadcastReceiver;impo
21、rt android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.gsm.SmsManager;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;publicclass TinySMS extends Activity publicstaticfinal String SMS
22、_ACTION = com.android.TinySMS.RESULT;/private TextViewmessage;private Buttonsnd;private EditTexttel;private EditTexttxt;private SentReceiver receiver = new SentReceiver();privateclass SentReceiver extends BroadcastReceiver Overridepublicvoid onReceive(Context context, Intent intent) if (intent.getAc
23、tion().equals(SMS_ACTION) int code = getResultCode();/短消息發(fā)送成功if(code = Activity.RESULT_OK) Toast.makeText(TinySMS.this, R.string.msg_sent, Toast.LENGTH_SHORT).show(); ;/* Called when the activity is first created. */Overridepublicvoid onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceS
24、tate); setContentView(R.layout.main);tel = (EditText) findViewById(R.id.EditText01);tel.setText(5554); /模擬器之間互發(fā)短信txt = (EditText) findViewById(R.id.EditText02);txt.setText(我用自己的程序試試發(fā)短信。);snd = (Button) findViewById(R.id.Button01);snd.setOnClickListener(new View.OnClickListener() publicvoid onClick(V
25、iew arg0) String phoneNo = tel.getText().toString(); String message = txt.getText().toString();if (phoneNo.length()0 & message.length()0) sendSMS(phoneNo, message); else Toast.makeText(TinySMS.this,請(qǐng)重新輸入電話號(hào)碼和短信內(nèi)容, Toast.LENGTH_LONG).show(); ); privatevoid sendSMS(String address, String content) SmsM
26、anager manager = SmsManager.getDefault(); Intent i = new Intent(SMS_ACTION);/生成PendingIntent,當(dāng)消息發(fā)送完成,接收到廣播PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0, i,PendingIntent.FLAG_ONE_SHOT); manager.sendTextMessage( address,null, content, sentIntent,null); 如果要收發(fā)短信,還需在AndroidManifest.xml中聲明
27、權(quán)限:2、 手機(jī)上有多種傳感器,可以對(duì)這些傳感器進(jìn)行編程。Android SDK 中提供的面向硬件的特性特性描述相機(jī)交互的類(lèi),可以截取照片、獲取預(yù)覽屏幕的圖像,修改理相機(jī)操作的參數(shù)。允許訪問(wèn) Android 平臺(tái)傳感器的類(lèi)。并非所有配備 Android 的設(shè)備都支持 SensorManager 中的所有傳感器。在傳感器值實(shí)時(shí)更改時(shí),希望接收更新的類(lèi)要實(shí)現(xiàn)的接口。用以監(jiān)視硬件中一個(gè)或多個(gè)可用傳感器。用于錄制媒體的類(lèi)。android.FaceDetector人臉進(jìn)行基本識(shí)別類(lèi)。android.os.*可以與操作環(huán)境交互的包,包括電源管理、文件查看器、處理器和消息類(lèi)。android.hardware
28、.SensorManager 包含幾個(gè)常量,這表示 Android 傳感器系統(tǒng)的不同方面,包括:傳感器類(lèi)型:方向、加速表、光線、磁場(chǎng)、臨近性、溫度等。采樣率最快、游戲、普通、用戶(hù)界面。當(dāng)應(yīng)用程序請(qǐng)求特定的采樣率時(shí),其實(shí)只是對(duì)傳感器子系統(tǒng)的一個(gè)提示,或者一個(gè)建議。不保證特定的采樣率可用。準(zhǔn)確性高、低、中、不可靠。SensorListener 接口是傳感器應(yīng)用程序的中心。它包括兩個(gè)必需方法:onSensorChanged(int sensor,float values) 方法在傳感器值更改時(shí)調(diào)用。該方法只對(duì)受此應(yīng)用程序監(jiān)視的傳感器調(diào)用。該方法的參數(shù)包括: 一個(gè)整數(shù),指示更改的傳感器; 一個(gè)浮點(diǎn)值數(shù)
29、組,表示傳感器數(shù)據(jù)本身。有些傳感器只提供一個(gè)數(shù)據(jù)值,另一些則提供三個(gè)浮點(diǎn)值。方向和加速表傳感器都提供三個(gè)數(shù)據(jù)值。當(dāng)傳感器的準(zhǔn)確性更改時(shí),將調(diào)用 onAccuracyChanged(int sensor,int accuracy) 方法。參數(shù)包括兩個(gè)整數(shù):一個(gè)表示傳感器,另一個(gè)表示該傳感器新的準(zhǔn)確值。要與傳感器交互,應(yīng)用程序必須注冊(cè)以偵聽(tīng)與一個(gè)或多個(gè)傳感器相關(guān)的活動(dòng)。注冊(cè)使用 SensorManager 類(lèi)的 registerListener 方法完成。并非所有支持 Android 的設(shè)備都支持 SDK 中定義的所有傳感器。以 Android 為中心的傳感器系統(tǒng)相機(jī)拍攝:package com.
30、android.cameraAndroid;import android.app.Activity;import android.os.Bundle;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import android.content.Context;import android.content.Intent;import android.graphics.PixelFormat;import android.hardware.Camera;import android.har
31、dware.Camera.Parameters;import android.hardware.Camera.PictureCallback;import android.hardware.Camera.ShutterCallback;import android.media.AudioManager;import android.media.ToneGenerator;import .Uri;import android.os.Environment;import android.os.StatFs;import android.view.Menu;import android.view.M
32、enuItem;import android.view.SurfaceHolder;import android.view.SurfaceView;public class CameraAndroid extends Activity private CameraPreview preview;private Camera camera;private ToneGenerator tone;private static final int OPTION_SNAPSHOT = 0;Overridepublic void onCreate(Bundle savedInstanceState) su
33、per.onCreate(savedInstanceState);preview = new CameraPreview(this);setContentView(preview);Overridepublic boolean onOptionsItemSelected(MenuItem item) int itemId = item.getItemId();switch(itemId)case OPTION_SNAPSHOT:/拍攝照片camera.takePicture(shutterCallback, null, jpegCallback);break;return true;/返回照片
34、的JPEG格式的數(shù)據(jù)private PictureCallback jpegCallback = new PictureCallback()public void onPictureTaken(byte data, Camera camera) Parameters ps = camera.getParameters();if(ps.getPictureFormat() = PixelFormat.JPEG) /存儲(chǔ)拍照獲得的圖片 String path = save(data); /將圖片交給Image程序處理 Uri uri = Uri.fromFile(new File(path); I
35、ntent intent = new Intent(); intent.setAction(ent.action.VIEW); intent.setDataAndType(uri, image/jpeg); startActivity(intent);/快門(mén)按下的時(shí)候onShutter()被回調(diào)private ShutterCallback shutterCallback = new ShutterCallback()public void onShutter() if(tone = null)/發(fā)出提示用戶(hù)的聲音tone = new ToneGenerator(Audi
36、oManager.STREAM_MUSIC,ToneGenerator.MAX_VOLUME);tone.startTone(ToneGenerator.TONE_PROP_BEEP2);private String save(byte data)String path = /sdcard/+System.currentTimeMillis()+.jpg;try /判斷SD卡上是否有足夠的空間String storage = Environment.getExternalStorageDirectory().toString();StatFs fs = new StatFs(storage);long available = fs.getAvailableBlocks()*fs.getBlockSize();if(availabledata.length)/空間不足直接返回空return null;File fi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司培訓(xùn)心得-公司學(xué)習(xí)《準(zhǔn)則》和《條例》心得體會(huì)
- 扣件材料租賃合同范本
- 合伙養(yǎng)殖蚯蚓合同范本
- 廠房租賃合同范本 稅
- 高壓電工(運(yùn)行)模擬題+參考答案
- 發(fā)廊合作協(xié)議合同范本
- 些合同不是擔(dān)保合同范本
- 三八婦女節(jié)教師講話稿
- led租用合同范本
- 農(nóng)村合伙承包工程合同范本
- 回奶介紹演示培訓(xùn)課件
- 2024年福建福州地鐵集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 綠色施工環(huán)境保護(hù)應(yīng)急預(yù)案
- 2023靜脈治療護(hù)理技術(shù)操作標(biāo)準(zhǔn)解讀
- 基礎(chǔ)日語(yǔ)1學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 客源國(guó)概況-韓國(guó)課件
- 保密風(fēng)險(xiǎn)評(píng)估報(bào)告
- 道路建筑材料電子教案(全)
- 《尹定邦設(shè)計(jì)學(xué)概論》試題及答案
- 黃河流域生態(tài)保護(hù)和高質(zhì)量發(fā)展知識(shí)競(jìng)賽試題及答案(共52題)
- 1、1~36號(hào)元素電子排布式、排布圖
評(píng)論
0/150
提交評(píng)論