當前位置:首頁 » 操作系統 » 伺服器安卓源碼

伺服器安卓源碼

發布時間: 2023-01-11 09:11:49

Ⅰ 網上下載的安卓伺服器端源碼怎麼運行,要裝什麼軟體,導入什麼包

感覺又是一個做畢業設計的。。。android端用eclipse軟體,裝android adt插件,需要android sdk,然後配置下系統環境,網路有具體方法,我就不復制去了。伺服器端的你應該是用的tomcat?這要看你伺服器都有啥功能了,連接啥資料庫,或者用到上傳下載,或者需要xml,或者exl,都需要不同的包

Ⅱ 哪裡可以找到帶伺服器端的安卓項目源碼

Android平台的即時通訊軟體實現,使用Socket進行通訊,利用PC作為伺服器作為消息轉發的平台,若好友在線,伺服器則直接將消息轉發給好友;若好友離線,伺服器會將該消息暫存在伺服器端,當消息的接收者登陸到系統後,再將該離線消息發給接收者

Ⅲ 求帶有客戶端和伺服器端的Android應用程序源代碼(能運行的),謝謝

這是我個人的一個項目,客戶端,服務端以及資料庫都有。

Ⅳ 易安卓連接易語言伺服器源碼

ip地址=你要連接伺服器的ip
埠=如上,只不過是埠
客戶1.連接(ip地址,埠)

Ⅳ 安卓源碼怎麼用 android應用開發詳解 這本書裡面18章(無線點餐系統)的「伺服器端」有源代碼

你這個應該是JSP的頁面吧,先配置好本地的伺服器環境,比如用Tomcat 做伺服器 先弄好這個,然後再裝好MySQL資料庫,修改一下你頁面中連接資料庫的文件的信息,然後再上eclipse配置下你的客戶端的訪問地址等。。。差不多就是這個步驟了

Ⅵ 在Android端使用socket傳輸圖片到java伺服器,求源代碼

/**
*思想:
1.直接將所有數據安裝位元組數組發送
2.對象序列化方式
*/

/**
*thread方式
*
*@authorAdministrator
*/
{
privatestaticfinalintFINISH=0;
privateButtonsend=null;
privateTextViewinfo=null;
privateHandlermyHandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
switch(msg.what){
caseFINISH:
Stringresult=msg.obj.toString();//取出數據
if("true".equals(result)){
TestSocketActivity4.this.info.setText("操作成功!");
}else{
TestSocketActivity4.this.info.setText("操作失敗!");
}
break;
}
}
};


@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_test_sokect_activity4);
//StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder()
//.detectDiskReads().detectDiskWrites().detectNetwork()
//.penaltyLog().build());
//StrictMode.setVmPolicy(newStrictMode.VmPolicy.Builder()
//.detectLeakedSqlLiteObjects().detectLeakedClosableObjects()
//.penaltyLog().penaltyDeath().build());

this.send=(Button)super.findViewById(R.id.send);
this.info=(TextView)super.findViewById(R.id.info);
this.send.setOnClickListener(newSendOnClickListener());
}

{
@Override
publicvoidonClick(Viewv){
try{
newThread(newRunnable(){
@Override
publicvoidrun(){
try{
//1:
Socketclient=newSocket("192.168.1.165",9898);
//2:
ObjectOutputStreamoos=newObjectOutputStream(
client.getOutputStream());
//3:
UploadFilemyFile=SendOnClickListener.this
.getUploadFile();
//4:
oos.writeObject(myFile);//寫文件對象
//oos.writeObject(null);//避免EOFException
oos.close();


BufferedReaderbuf=newBufferedReader(
newInputStreamReader(client
.getInputStream()));//讀取返回的數據
Stringstr=buf.readLine();//讀取數據
Messagemsg=TestSocketActivity4.this.myHandler
.obtainMessage(FINISH,str);
TestSocketActivity4.this.myHandler.sendMessage(msg);
buf.close();
client.close();
}catch(Exceptione){
Log.i("UploadFile",e.getMessage());
}
}
}).start();
}catch(Exceptione){
e.printStackTrace();
}
}

()throwsException{//包裝了傳送數據
UploadFilemyFile=newUploadFile();
myFile.setTitle("tangcco安卓之Socket的通信");//設置標題
myFile.setMimeType("image/png");//圖片的類型
Filefile=newFile(Environment.getExternalStorageDirectory()
.toString()
+File.separator
+"Pictures"
+File.separator
+"b.png");
InputStreaminput=null;
try{
input=newFileInputStream(file);//從文件中讀取
ByteArrayOutputStreambos=newByteArrayOutputStream();
bytedata[]=newbyte[1024];
intlen=0;
while((len=input.read(data))!=-1){
bos.write(data,0,len);
}
myFile.setContentData(bos.toByteArray());
myFile.setContentLength(file.length());
myFile.setExt("png");
}catch(Exceptione){
throwe;
}finally{
input.close();
}
returnmyFile;
}
}

}{
privateStringtitle;
privatebyte[]contentData;
privateStringmimeType;
privatelongcontentLength;
privateStringext;

publicStringgetTitle(){
returntitle;
}

publicvoidsetTitle(Stringtitle){
this.title=title;
}

publicbyte[]getContentData(){
returncontentData;
}

publicvoidsetContentData(byte[]contentData){
this.contentData=contentData;
}

publicStringgetMimeType(){
returnmimeType;
}

publicvoidsetMimeType(StringmimeType){
this.mimeType=mimeType;
}

publiclonggetContentLength(){
returncontentLength;
}

publicvoidsetContentLength(longcontentLength){
this.contentLength=contentLength;
}

publicStringgetExt(){
returnext;
}

publicvoidsetExt(Stringext){
this.ext=ext;
}

}

下邊是服務端

publicclassMain4{
publicstaticvoidmain(String[]args)throwsException{
ServerSocketserver=newServerSocket(9898);//伺服器端埠
System.out.println("服務啟動........................");
booleanflag=true;//定義標記,可以一直死循環
while(flag){//通過標記判斷循環
newThread(newServerThreadUtil(server.accept())).start();//啟動線程
}
server.close();//關閉伺服器
}
}


{
="D:"+File.separator+"myfile"
+File.separator;//目錄路徑
privateSocketclient=null;
privateUploadFileupload=null;

publicServerThreadUtil(Socketclient){
this.client=client;
System.out.println("新的客戶端連接...");
}

@Override
publicvoidrun(){
try{
ObjectInputStreamois=newObjectInputStream(
client.getInputStream());//反序列化
this.upload=(UploadFile)ois.readObject();//讀取對象//UploadFile需要和客戶端傳遞過來的包名類名相同,如果不同則會報異常
System.out.println("文件標題:"+this.upload.getTitle());
System.out.println("文件類型:"+this.upload.getMimeType());
System.out.println("文件大小:"+this.upload.getContentLength());

PrintStreamout=newPrintStream(this.client.getOutputStream());//BufferedWriter
out.print(this.saveFile());//返回響應
// BufferedWriterwriter=null;
// writer.write("");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
this.client.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

privatebooleansaveFile()throwsException{//負責文件內容的保存
/**
*java.util.UUID.randomUUID():
*UUID.randomUUID().toString()是javaJDK提供的一個自動生成主鍵的方法。UUID(Universally
*UniqueIdentifier)全局唯一標識符,是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的,
*是由一個十六位的數字組成
*,表現出來的形式。由以下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,如果你在生成一個UUID之後,
*過幾秒又生成一個UUID,
*則第一個部分不同,其餘相同),時鍾序列,全局唯一的IEEE機器識別號(如果有網卡,從網卡獲得,沒有網卡以其他方式獲得
*),UUID的唯一缺陷在於生成的結果串會比較長,字元串長度為36。
*
*UUID.randomUUID().toString()是javaJDK提供的一個自動生成主鍵的方法。UUID(Universally
*UniqueIdentifier)全局唯一標識符,是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的,
*是由一個十六位的數字組成,表現出來的形式
*/
Filefile=newFile(DIRPATH+UUID.randomUUID()+"."
+this.upload.getExt());
if(!file.getParentFile().exists()){
file.getParentFile().mkdir();
}
OutputStreamoutput=null;
try{
output=newFileOutputStream(file);
output.write(this.upload.getContentData());
returntrue;
}catch(Exceptione){
throwe;
}finally{
output.close();
}
}
}{
privateStringtitle;
privatebyte[]contentData;
privateStringmimeType;
privatelongcontentLength;
privateStringext;

publicStringgetTitle(){
returntitle;
}

publicvoidsetTitle(Stringtitle){
this.title=title;
}

publicbyte[]getContentData(){
returncontentData;
}

publicvoidsetContentData(byte[]contentData){
this.contentData=contentData;
}

publicStringgetMimeType(){
returnmimeType;
}

publicvoidsetMimeType(StringmimeType){
this.mimeType=mimeType;
}

publiclonggetContentLength(){
returncontentLength;
}

publicvoidsetContentLength(longcontentLength){
this.contentLength=contentLength;
}

publicStringgetExt(){
returnext;
}

publicvoidsetExt(Stringext){
this.ext=ext;
}

}

Ⅶ android怎麼修改源碼

在Android界面的系統status bar上添加home,back,menu三個菜單,並完成對應的系統功能。並有higlight效果,修改status bar 高度和status bar上的文字尺寸。

這需要修改android sdk才能完成,我用的是eclair.下面就我的操作進行敘述。

1.首先完成界面顯示效果。

需要修改文件

./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定義的icon,圖片名稱指定就好了。另外還要記得修改./frameworks/base/core/res/res/values/arrays.xml,這里定義了icon的slot,並且決定了icon的擺放順序。

這樣,你需要的icon按鍵就可以顯示在系統的status bar上面了。

2.判斷touch event是否按動了某個icon

需要修改的文件

./frameworks/base/services/java/com/android/server/status/StatusBarView.java

首先在onTouchEvent函數中,獲取當前event的坐標,然後比較是否在某個按鍵范圍之內。由於系統對於statusBar的范圍已經有了定義,所以這里只需要比較橫坐標就可以了。

其次,也是這一步最關鍵的,怎麼獲取具體某一個icon的左右邊界坐標呢?系統的status bar左邊顯示的圖標都是notification, 右邊顯示的是系統icon. 也就是說左邊icon屬於mNotificationIcons,右邊的icon屬於mStatusIcons. 在文件StatusBarView.java中出現的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左邊的icon的left橫坐標。用N = mStatusIcons.getChildCount()得到共有幾個系統icon,其中包含visibility為false的icons.用mStatusIcons.getChildAt(N-i)得到的是從右邊數第i個的icon view. 這個view的getLeft()+offset就是這第i個icon的左邊橫坐標,對應的getRight()+offset就是這第i個icon的右邊橫坐標。本例中home鍵是右邊第2個icon.

3.定義icon響應事件

這里使用的方法是在StatusBarView.java中向

./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java發送一個Broadcast,讓StatusBarPolicy來完成具體的事件操作。這里需要注意的是不僅要在./frameworks/base/core/java/android/content/Intent.java中定義intent,還要在StatusBarPolicy的構造函數中添加該intent的過濾動作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按動了back鍵,如果當前事件為action_up,就向系統發送一個keyEvent,keyCode為KeyEvent.KEYCODE_BACK. 這里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函數,直接拷貝過來,按照需要稍微修改一下形參就可以了,過程不要修改。

需要說明的是,當點擊statusBar可以拉出來一個notification列表,當這個列表顯示出來的時候,這三個back, menu, home鍵的響應速度會非常慢,所以這時不響應事件並隱藏這三個鍵。具體做法是在StatusBarView的onTouchEvent()中判斷mService.mExpanded或者 mService.mTracking為真時就不做響應。mService是StatusBarService對象。隱藏三個鍵也是用Broadcast來做的,但這個intent是由StatusBarServie發出來的,當mExpandedVisible = false時顯示,當mExpandedVisible = true時隱藏。

這里還同時完成了highlight換圖的動作,也是用Broadcast來做得,處理過程一樣,就是需要區分action_down和action_up就可以了。

4.調整status bar的高度

如果你需要顯示較大的屏幕尺寸,同時statusBar的高度要拉大,上面的icon的size也需要調大。為了協調一致,顯示時間的字體和notification顯示的日期的字體也需要調大。具體做法如下:

a.調節status bar icon的size: 只調節status_bar.xml的textSize標簽似乎不起作用,同時又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);語句才成功。不知道修改status_bar.xml的<com.android.server.status.AnimatedImageView>標簽下的layout_height值是不是必須的,反正我是一起都給改了。

b.調節status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道還需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也給改了。

c.調節notification顯示日期字體的大小,修改status_bar.xml的<com.android.server.status.DateView>的textSize值。

到這里,就完成了所有工作,看看效果吧。

Ⅷ 誰有Android系統的源碼

1、通過 ubuntu 軟體中心安裝 wine;
2、通過 ubuntu 軟體中心安裝 winetricks;
3、通過 winetricks 在 shell中輸入: winetricks mfc42

1、通過 wine windows 的方式啟動代理伺服器
2、設置瀏覽器代理伺服器
3、設置shell代理伺服器:
在shell中輸入 sudo gedit /etc/bash.bashrc
在文件 /etc/bash.bashrc 中添加:如下內容
export http_proxy=http://127.0.0.1:8580/export https_proxy=http://127.0.0.1:8580/

通過shell安裝如下的組件:
1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
2、新建一個存放源碼的目錄,如:mkdir ~/andorid/source
3、在源碼目錄中輸入命令:repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
其中: android-4.0.1_r1是android源碼的版本,更多的版本可以通過下面的方式查詢:http://source.android.com/source/build-numbers.html

4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值為:
git://Android.git.linaro.org/

通過如下的指令來設置郵箱和用戶名
git config --global user.name "<your name>" ----修改用戶名git config --global user.email "<your email>" ----修改email

5、在source目錄下輸入指令:repo sync
便開始了代碼的下載

Ⅸ 怎麼運用Git來獲取android源代碼

下載Git工具:(默認安裝即可,我自己是安裝在D:\AndroidSrc\Git目錄下):

安裝完成之後,雙擊桌面的Git bash圖標:

雙擊出現如下命令窗口,並輸入cd /c/
android/source(因為我是選擇把android源代碼下載到這裡面具體情況你可以根據自己的需要來決定),出現如下界面:

初始化目錄,使用命令:git init ,然後從遠程伺服器下載git:

git fetch http://android.git.kernel.org/ + project path.git

並且輸入我要下在的base這個部分的代碼:git fitch
http://android.git.kernel.org/platformworks/base.git

出現如下界面:

出現這個肯定下載不了的,為什麼呢?我去android官網去看了一下,原來不是用老版本的那個命令了,而是如下的命令:

因此我要下載的base這個源代碼,找到相應的目錄,看下圖中的最後一個目錄:我用命令:

於是我用:git clone
https://android.googlesource.com/platform/frameworks/base.git
命令來下載base部分的源代碼,具體的界面如下:

然而居然出現HTTP
服務請求失敗,所以自己果把https換成http(我想大多數的朋友在eclipse中在線安裝ADT插件的時候,也會碰到類似的問題,這里就不一一詳述了):

輸入命令:git clone
http://android.googlesource.com/platform/frameworks/base.git
出現如下界面:

結果成功下載了base這個部分的代碼:現在看看我的C盤相應目錄中多出的base這個文件夾

結果就成功了,你要下載其他部分的源代碼,依葫蘆畫瓢就OK了,希望能幫到學習android的朋友。

Ⅹ 如何調試跟蹤Android Framework源代碼

本文講解如何在Eclipse中導入Android源代碼(包括Framework和Application的代碼),然後通過模擬器或真機跟蹤/調試Android的Java代碼,區別於一般基於Android SDK的純應用開發,這里可以跟蹤/調試Framework中的代碼。

一、准備工作

確保機器上已經安裝並配置下列軟體環境:JDK/ Eclipse / Android SDK / ADT

即,機器上已經安裝了Eclipse下Android應用開發所需的環境。如果還未配置,移步《搭建Windows下Android應用開發環境——Eclipse/Android/ADT》。

另外,為了跟蹤調試Android源碼,你還需要有Android源碼,並有源碼的編譯環境,可以是:

  • 虛擬機環境 虛擬機中安裝Linux,Linux下編譯Android源碼。此環境下,如果要在宿主機的Eclipse中調試,還需要把Android的源碼路徑共享出來,宿主機可訪問到;

  • 有單獨的可編譯Android的網路環境 在你的客戶端的機器上訪問伺服器共享出來的Android的源碼路徑;

  • Linux環境下直接通過Eclipse跟蹤調試本機上的Android源碼。

  • 注意:不管哪種工作方式,Android源碼要都是已經編譯過的,且編譯時採用的是Eng模式(vs User mode)。編譯Android Platform和Kernel的過程,可參考《Ubuntu10.10下編譯Android2.2平台》及《Ubuntu10.10下編譯Android2.2內核》。

    二、基本設置

    准備工作完畢之後,現在做一些基本的設置。

    1. 把Android源碼路徑<Android_ROOT>下的developmentideeclipse中的.classpath文件復制到<Android_ROOT>下;如果需要在模擬器中進行調試的話,需要復制三個img(具體方法見http://wenku..com/view/26d9063c87c24028915fc366.html)

    2. 修改Eclipse的設置

    修改eclipse.ini文件,更改下列內容:

    [plain]view plain

  • -Xms40m

  • -Xmx384m

  • 改為:

    [java]view plain

  • -Xms128m

  • -Xmx512m

  • 這里增大最小Java堆大小到128MB,增大最大Java堆大小到512MB。

    三、Eclipse中創建工程

    1. File > New > Java Project

熱點內容
我的世界pe伺服器創造 發布:2025-05-15 10:51:17 瀏覽:607
移動端打吃雞要什麼配置 發布:2025-05-15 10:48:16 瀏覽:756
我的世界哪五個伺服器被炸了 發布:2025-05-15 10:36:16 瀏覽:994
ehcache存儲對象 發布:2025-05-15 10:35:31 瀏覽:528
搭建虛擬電腦的伺服器 發布:2025-05-15 10:29:31 瀏覽:270
湖人雙核配置哪個最好 發布:2025-05-15 10:09:48 瀏覽:980
手機熱點密碼怎麼查看 發布:2025-05-15 09:54:47 瀏覽:109
生意發力雲存儲 發布:2025-05-15 09:54:45 瀏覽:617
編寫一個shell腳本添加用戶 發布:2025-05-15 09:54:43 瀏覽:506
資料庫查看錶命令 發布:2025-05-15 09:52:27 瀏覽:915