當前位置:首頁 » 安卓系統 » androidstudio源碼下載

androidstudio源碼下載

發布時間: 2023-02-02 09:54:28

A. android_studio手機藍牙串口通信源代碼

初涉android的藍牙操作,按照固定MAC地址連接獲取Device時,程序始終是異常終止,查了好多天代碼都沒查出原因。今天改了一下API版本,突然就成功連接了。總結之後發現果然是個坑爹之極的錯誤。

為了這種錯誤拚命查原因浪費大把時間是非常不值得的,但是問題不解決更是揪心。可惜我網路了那麼多,都沒有給出確切原因。今天特此mark,希望後來者遇到這個問題的時候能輕松解決。

下面是我的連接過程,中間崩潰原因及解決辦法。

1:用AT指令獲得藍牙串口的MAC地址,地址是簡寫的,按照常理猜測可得標准格式。

2:開一個String adress= "************" //MAC地址, String MY_UUID= "************"//UUID根據通信而定,網上都有。

3:取得本地Adapter用getDefaultAdapter(); 遠程的則用getRemoteDevice(adress); 之後便可用UUID開socket進行通信。

如果中途各種在getRemoteDevice處崩潰,大家可以查看一下當前的API版本,如果是2.1或以下版本的話,便能確定是API版本問題,只要換成2.2或者以上就都可以正常運行了~ 這么坑爹的錯誤的確很為難初學者。 唉·········· 為這種小trick浪費很多時間真是難過。

(另外有個重要地方,別忘了給manifest裡面加以下兩個藍牙操作許可權哦~)

  • <uses-permissionandroid:name="android.permission.BLUETOOTH"></uses-permission>

  • <uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>

  • 下面附上Android藍牙操作中用固定MAC地址傳輸信息的模板,通用搜索模式日後再補刪模板:

  • =null;

  • =null;

  • privateOutputStreamoutStream=null;

  • privateInputStreaminStream=null;

  • privatestaticfinalUUIDMY_UUID=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");//這條是藍牙串口通用的UUID,不要更改

  • privatestaticStringaddress="00:12:02:22:06:61";//<==要連接的藍牙設備MAC地址

  • /*獲得通信線路過程*/

  • /*1:獲取本地BlueToothAdapter*/

  • mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();

  • if(mBluetoothAdapter==null)

  • {

  • Toast.makeText(this,"Bluetoothisnotavailable.",Toast.LENGTH_LONG).show();

  • finish();

  • return;

  • }

  • if(!mBluetoothAdapter.isEnabled())

  • {

  • Toast.makeText(this,"-runthisprogram.",Toast.LENGTH_LONG).show();

  • finish();

  • return;

  • }

  • /*2:獲取遠程BlueToothDevice*/

  • BluetoothDevicedevice=mBluetoothAdapter.getRemoteDevice(address);

  • if(mBluetoothAdapter==null)

  • {

  • Toast.makeText(this,"Can'tgetremotedevice.",Toast.LENGTH_LONG).show();

  • finish();

  • return;

  • }

  • /*3:獲得Socket*/

  • try{

  • btSocket=device.(MY_UUID);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Socketcreationfailed.",e);

  • }

  • /*4:取消discovered節省資源*/

  • mBluetoothAdapter.cancelDiscovery();

  • /*5:連接*/

  • try{

  • btSocket.connect();

  • Log.e(TAG,"ONRESUME:BTconnectionestablished,datatransferlinkopen.");

  • }catch(IOExceptione){

  • try{

  • btSocket.close();

  • }catch(IOExceptione2){

  • Log.e(TAG,"ONRESUME:",e2);

  • }

  • }

  • /*此時可以通信了,放在任意函數中*/

  • /*try{

  • outStream=btSocket.getOutputStream();

  • inStream=btSocket.getInputStream();//可在TextView里顯示

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Outputstreamcreationfailed.",e);

  • }

  • Stringmessage="1";

  • byte[]msgBuffer=message.getBytes();

  • try{

  • outStream.write(msgBuffer);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);

  • }

  • */

  • 通用搜索模式代碼模板:

    簡潔簡潔方式1 demo


    作用: 用VerticalSeekBar控制一個 LED屏幕的亮暗。

    直接上碼咯~

  • packagecom.example.seed2;

  • importandroid.app.Activity;

  • importandroid.app.AlertDialog;

  • importandroid.app.Dialog;

  • importandroid.os.Bundle;

  • importjava.io.IOException;

  • importjava.io.InputStream;

  • importjava.io.OutputStream;

  • importjava.util.UUID;

  • importandroid.bluetooth.BluetoothAdapter;

  • importandroid.bluetooth.BluetoothDevice;

  • importandroid.bluetooth.BluetoothSocket;

  • importandroid.content.DialogInterface;

  • importandroid.util.Log;

  • importandroid.view.KeyEvent;

  • importandroid.widget.Toast;

  • {

  • privatestaticfinalStringTAG="BluetoothTest";

  • =null;

  • =null;

  • privateOutputStreamoutStream=null;

  • privateInputStreaminStream=null;

  • privateVerticalSeekBarvskb=null;

  • privatestaticfinalUUIDMY_UUID=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");//這條是藍牙串口通用的UUID,不要更改

  • privatestaticStringaddress="00:12:02:22:06:61";//<==要連接的藍牙設備MAC地址

  • /**.*/

  • @Override

  • publicvoidonCreate(BundlesavedInstanceState){

  • super.onCreate(savedInstanceState);

  • setContentView(R.layout.main);

  • this.vskb=(VerticalSeekBar)super.findViewById(R.id.mskb);

  • this.vskb.setOnSeekBarChangeListener(newOnSeekBarChangeListenerX());

  • mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();

  • if(mBluetoothAdapter==null)

  • {

  • Toast.makeText(this,"Bluetoothisnotavailable.",Toast.LENGTH_LONG).show();

  • finish();

  • return;

  • }

  • if(!mBluetoothAdapter.isEnabled())

  • {

  • Toast.makeText(this,"-runthisprogram.",Toast.LENGTH_LONG).show();

  • finish();

  • return;

  • }

  • }

  • .OnSeekBarChangeListener{

  • publicvoidonProgressChanged(VerticalSeekBarseekBar,intprogress,booleanfromUser){

  • //Main.this.clue.setText(seekBar.getProgress());

  • /*Stringmessage;

  • byte[]msgBuffer;

  • try{

  • outStream=btSocket.getOutputStream();

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:OutputStreamcreationfailed.",e);

  • }

  • message=Integer.toString(seekBar.getProgress());

  • msgBuffer=message.getBytes();

  • try{

  • outStream.write(msgBuffer);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);

  • }*/

  • }

  • (VerticalSeekBarseekBar){

  • Stringmessage;

  • byte[]msgBuffer;

  • try{

  • outStream=btSocket.getOutputStream();

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:OutputStreamcreationfailed.",e);

  • }

  • message=Integer.toString(seekBar.getProgress());

  • msgBuffer=message.getBytes();

  • try{

  • outStream.write(msgBuffer);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);

  • }

  • }

  • publicvoidonStopTrackingTouch(VerticalSeekBarseekBar){

  • Stringmessage;

  • byte[]msgBuffer;

  • try{

  • outStream=btSocket.getOutputStream();

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:OutputStreamcreationfailed.",e);

  • }

  • message=Integer.toString(seekBar.getProgress());

  • msgBuffer=message.getBytes();

  • try{

  • outStream.write(msgBuffer);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);

  • }

  • }

  • }

  • @Override

  • publicvoidonStart()

  • {

  • super.onStart();

  • }

  • @Override

  • publicvoidonResume()

  • {

  • super.onResume();

  • BluetoothDevicedevice=mBluetoothAdapter.getRemoteDevice(address);

  • try{

  • btSocket=device.(MY_UUID);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Socketcreationfailed.",e);

  • }

  • mBluetoothAdapter.cancelDiscovery();

  • try{

  • btSocket.connect();

  • Log.e(TAG,"ONRESUME:BTconnectionestablished,datatransferlinkopen.");

  • }catch(IOExceptione){

  • try{

  • btSocket.close();

  • }catch(IOExceptione2){

  • Log.e(TAG,"ONRESUME:",e2);

  • }

  • }

  • //.

  • /*try{

  • outStream=btSocket.getOutputStream();

  • inStream=btSocket.getInputStream();

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Outputstreamcreationfailed.",e);

  • }

  • Stringmessage="read";

  • byte[]msgBuffer=message.getBytes();

  • try{

  • outStream.write(msgBuffer);

  • }catch(IOExceptione){

  • Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);

  • }

  • intret=-1;

  • while(ret!=-1)

  • {

  • try{

  • ret=inStream.read();

  • }catch(IOExceptione)

  • {

  • e.printStackTrace();

  • }

  • }

  • */

  • }

  • @Override

B. 大神你好,我在網上下載的源碼,電腦上已經安裝了Android studio和sdk,可是如何導入源碼及如何運行啊

直接打開你的Android Studio軟體,然後點擊File--->New--->Import Project

C. 在網上找了一個安卓軟體源碼,怎樣導入android studio

一開始都會感覺到疑惑,網路上,論壇上,甚至是書本上都講不清楚,不知道這是什麼原因,我想人類的私心在裡面會占據很大的因素。 不是每個人都願意分享自己辛苦得來的經驗和心得。 android軟體,你可以這么看,它是用java語言+很多很多的現成的已經被別人寫到的包組合成的。 其實它的本質就是java,然後那些界面什麼,其實核心就是一個叫做XML的東西。 這個XML其實也沒什麼神秘,就是一個國際化的,標準的標簽。 然後標簽其實說白了就是記號,你在這個XML文件裡面,按照谷歌給你定好的游戲規則,寫標簽,然後這個標簽會被自動解析成相應功能。 整個android界面其實就是一個XML文件,android表面上的東西幾乎都是XML文件組成的,剩下的核心程序邏輯,其實就是java程序。 再換句話說,你可以在java上把程序邏輯寫好,然後單獨寫個XML文件,然後合並起來,就是android

D. Android studio 如何為下載下來的開源源碼,快速添加 log用來查看運行流程

在開發中,我們經常需要在Github上找一些開源項目用於自己的項目中,然而經常由於看不到其運行效果導致不斷的「試錯」,因此一般來說,本人在使用一個開源項目之前會將其下載並運行到手機上看效果。一方面可以准確判斷出是否適合自己的項目,另一方面可以根據項目需求做一定的修改。

1、 找到項目地址,點擊DownloadZIP,下載完成後,解壓到本地磁碟。如圖1所示

圖5

6、將項目導入AS,下載項目其餘需要的組件,編譯安裝,大功告成!

E. 如何在Androidstudio中引入第三方源碼

Android Studio 添加第三方庫的方法為:
開發過程中想要導入第三方類庫和Eclipse也是有差別的,導入SlidingMenu這個類庫,從github上下載下來解壓到項目目錄下。
然後重啟android studio就會發現項目下面有了類庫。
需要修改的是根目錄的下的settings.gradle這個文件,一定要注意是根目錄下的。在裡面添加代碼。

下來我要修改的是App目錄下的build.gradle,這里要注意是App目錄下的build.gradle,添加如下代碼
dependencies {
compile project(』:SlidingMenu-master』)
}
這個也是導入類庫的名字。這個時候打開File--- >Project Structure就可以看到導入的類庫。到這里的話還沒有完成,編譯的時候還會報錯。
還要在項目SlidingMenu-master目錄下添加一個build.gradle的這個文件,內容如下

studio導入類庫比較費力。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 』com.android.tools.build:gradle:0.6.+』
}
}
apply plugin: 』android-library』

repositories {
mavenCentral()
}

android {
compileSdkVersion 18
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 18
}

sourceSets {
main {
manifest.srcFile 』AndroidManifest.xml』
java.srcDirs = [』src』]
resources.srcDirs = [』src』]
aidl.srcDirs = [』src』]
renderscript.srcDirs = [』src』]
}
}
}
dependencies {
compile 』com.android.support:appcompat-v7:+』
compile files(』libs/gson-2.2.4.jar』)
}

F. android studio怎麼查看android源碼

按住ctrl + 加滑鼠左鍵就可以點進去看到相應的源碼

G. 如何用android studio打開第三方源碼

把源碼下載到電腦的全英文路徑中,哪個盤都可以,然後看項目是用什麼寫的,如果也是Androidstudio寫的,用第二項打開,如果是用Eclipse寫的,選第四項打開

H. androidstudio 不自動編譯

在 Android Studio使用教程(一)中簡要介紹了Android Studio的基本使用,包括安裝、新建工程、工程結構以及主題設置。今天接著講第二篇,主要包括如下內容: 從Eclipse導入工程到Android Studio Eclipse工程與Android Studio的區別 真機運行以及常用快捷鍵 需要重申一下,我所有的操作與版本是基於Mac系統,在Windows上的同學基本類似(作為一個技術人員,這些應該都不是問題大笑),下面就分主題開始吧: 一、從Eclipse導入工程到Android Studio 根據官方的介紹,Android Studio可以兼容Eclipse的現有工程,但需要做一些操作: 首先升級ADT到最新版本,目前為版本號為22(注意和ADT相關的組件最好一並升級,避免後期可能出現的錯誤) 選擇需要從Eclipse導出的工程,右鍵選擇Export並選擇Android下的Generate Gradle Build Files(如下圖): 選擇完畢後並不會導出到其他地方,而是在本地工程生成了一個build.gradle文件,在Eclipse工程中也可以看到,這個文件是Android Studio識別的,如下圖: 3.隨後進入Android Studio並選擇Import Project,可以看到剛剛在Eclipse中的項目圖標變成了一個Android機器人圖標,說明轉換成功,這時候選擇工程導入即可: 至此,就完成了從Eclipse導入現有Android工程到Android Studio,現在可以開始對工程進行操作了! 二、Eclipse工程與Android Studio的區別 Eclipse工程可以導入Android Studio運行,而反過來在Android Studio建立的工程不能在Eclipse中運行; 二者的工程結構不一樣,在Eclipse中一個Project就代表一個項目工程,而在Android Studio中就和Intellij一樣,一個Project代表一個工作空間,相當於Eclipse中的workspace,而在Android Studio中一個Mole就相當於Eclipse中的一個Project,這個概念需要弄明白,不要混了或覺得糊塗了。 在編輯操作上,在Eclipse中編輯修改後必須手動command+s保存文件,而在Android Studio中就和Intellij一樣是自動保存的,這一點和第二點和Xcode也是類似的。 工程目錄上的區別,在Eclipse中src部分一般是java文件,res部分是資源文件,包括布局文件和多媒體資源等。在Android Studio中,可以看下圖的目錄結構: 包括java文件和資源文件全部放到了src目錄下,src目錄下包括一個main文件夾,再下面就是java文件夾和res文件夾,其實這里,java文件夾就相當於Eclipse中的src,res還是那個res,這里想起了本山老師的小品「src已經不是那個src了,res還是那個res」大笑 三、真機運行以及常用快捷鍵 在Android Studio中點擊界面下方的Android選項卡可以看到Device信息和Logcat,連上設備後打開Android選項卡會檢測真機,成功後會顯示在Device中,點擊頂部的綠色小箭頭就可以開始運行工程了。有一點需要注意的是,運行時可以選擇模擬器也可以選擇真機,由於在Android Studio中運行工程的時候有一個Device優先順序選擇,如果不設置的話可能會出現只運行在模擬器上的現象,我們可以自行設置一下:先點擊Run菜單選擇Run Configuration,並選擇你想選擇的目標設備,可以是模擬器和真機,也可以在運行選由用戶選擇: 快捷鍵大家可以對照官方文檔進行熟悉,如下表,也可以自己修改配置選項進行自定義: 個人覺得Android Studio還是有一定的前景的,這里就需要Google不斷進行完善和改進了,趕緊把大家從Eclipse中解救出來吧。另外,在此期間,大家其實可以嘗試使用一下Intellij IDEA,這個默認也是集成Android開發環境的。Android Studio是基於前者改進而來,二者在使用上差不多,也是Eclipse的一個不錯的替代者。

I. androidstudio怎麼進入方法內部代碼

打開軟體頁面,進入設置,在設置中有工具欄,進入工具欄就可以進入方法內部代碼了。

J. android studio 源碼在哪個文件夾

首先打開Android Studio安卓Apps開發工具。

選擇單擊工具欄Android SDK Manager圖標

彈出settings對話框,單擊launch Standalone SDK Manager 即啟動獨立的SDK Manager 程序。

彈出Android SDK Manager程序主界面。

選擇下載安裝Sources for Android SDK;

使用Android Studio就可以查看Android源碼文件了。

熱點內容
磁碟禁止訪問 發布:2024-04-25 22:53:48 瀏覽:286
多線程ftp上傳 發布:2024-04-25 22:41:36 瀏覽:114
phpqrcode 發布:2024-04-25 22:41:36 瀏覽:32
桂平上網密碼是多少 發布:2024-04-25 22:32:10 瀏覽:574
open函數c語言 發布:2024-04-25 21:47:42 瀏覽:406
簡訊刪除後怎麼找伺服器 發布:2024-04-25 21:15:06 瀏覽:388
查ip地址伺服器數量 發布:2024-04-25 20:49:48 瀏覽:620
安卓手機單核性能為什麼不高 發布:2024-04-25 20:48:07 瀏覽:56
群暉php 發布:2024-04-25 20:00:35 瀏覽:884
怎麼查看我的wifi密碼 發布:2024-04-25 18:54:43 瀏覽:757