Time of Update: 2018-12-03
Android 編譯系統分析之返璞歸真 自Android開源以來,引起了嵌入式行業一股熱潮,很多嵌入式開發人員表示對Android有很強的興趣,並下載Android源碼進行編譯和移植。Android源碼的巨大(repo下來,大概2G)給人以Android相當複雜的錯覺。本文從Android編譯系統的角度,讓大家瞭解Android其實也是很純真的。Android編譯系統(build system)集中於Android源碼下的build/core下,在Android2.2中,共有56個*.mk檔案。
Time of Update: 2018-12-03
之前有傳聞表示,Google會在2月27日開始的MWC 2012大會上展示下一代Android 5.0作業系統。現在Google安卓官方網站就給出了1個相關倒計時頁面,目前顯示距離Android 5.0在MWC 2012大會上的相關活動還有大約5天時間. 外界預測,Google將在今年第2季度推出Android 5.0作業系統。Google將在MWC 2012大會上展示搭載Android 5.0作業系統的平板和手機樣品。點擊查看安卓官方Android
Time of Update: 2018-12-03
本次安裝使用的是win7系統首先下載android-sdk-windowsEclipse Indigo Service Release 1開啟Eclipse,然後開啟後顯示如下介面增加外掛程式點擊Archive,尋找檔案:ADT-15.0.1.zip選中,安裝,安裝完畢後,重啟Eclipse匯入,Android Sdk開啟喜好設定之後,匯入Android=SDK配置好之後,建立Android虛擬機器開啟AVD
Time of Update: 2018-12-03
Java代碼://設定鬧鐘alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent);Toast.makeText(Alarm.this,
Time of Update: 2018-12-03
子線程更新UI顯然假如你的程式需要執行耗時的操作的話,假如像上例一樣由主線程來負責執行該操作是錯誤的。所以我們需要在onClick方法中建立一個新的子線程來負責調用GOOGLE API來獲得天氣資料。剛接觸Android的開發人員最輕易想到的方式就是如下:Java代碼 public void onClick(View v) {//建立一個子線程執行耗時的從網路上獲得天氣資訊的操作 new Thread() { @Override public void run()
Time of Update: 2018-12-03
在需要使用者輸入資料的時候,友好的介面是非常重要的,所以如果我們能在輸入框給使用者一些提示,將能很好的提高程式的易用性,android就給我們提供了這樣一個屬性,也就是android:hint。另外這個程式的textview裡面使用一下android中的shape屬性,可以參見我前一篇轉載的部落格。view plaincopy to
Time of Update: 2018-12-03
上一篇文章中我們討論了如何向系統註冊Service。本篇文章我們將討論如何使用這個登入的系統Service。 在本系列文章的第一篇中,用戶端應用程式使用如下兩條語句取得了ExampleService代理對象的引用。sp<IServiceManager> sm = defaultServiceManager();binder = sm->getService(String16("byn.example"));
Time of Update: 2018-12-03
上次講解了MediaPlayer播放網路音頻,介紹了MediaPlayer關於網路音訊緩衝和進度條控制的方法,這次再講解MediaPlayer播放網路視頻。播放網路視頻比播放網路音頻多需要一個SurfaceView而已,已經熟悉MediaPlayer播放網路音頻之後,相信大家對播放網路視頻也能很快地掌握。先來看看本文程式運行::main.xml的源碼如下:java代碼:<?xml version="1.0" encoding="utf-8"?> <FrameLayout
Time of Update: 2018-12-03
直接上代碼,代碼中注釋很清楚,本人覺得這個東西google本來自己就應該整合好,直接一個方法調用最好,因為這個用的比較多,一般的android手機中交流的軟體基本上都需要這個東西。package com.example.photodemo;import android.app.Activity;import android.content.ContentResolver;import android.content.Intent;import
Time of Update: 2018-12-03
直接上代碼,代碼很清楚。import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.PointF;import android.os.Bundle;import android.util.FloatMath;import
Time of Update: 2018-12-03
伺服器servlet代碼publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String temp=request.getSession().getServletContext().getRealPath("/")+"temp"; //臨時目錄
Time of Update: 2018-12-03
報錯:java.net.ConnectException: failed to connect to /***.***.***.***(port 80): connect failed: EHOSTUNREACH (No route to host)報錯:java.net.ConnectException: failed to connect to /***.***.***.***(port 80): connect failed: EHOSTUNREACH (No route to host)
Time of Update: 2018-12-03
package com.example.downloadthread;import java.io.*;import java.net.*;import java.util.*;/** * @author Yeeku.H.Lee kongyeeku@163.com * @version 1.0 */public class GetPostUtil {/** * 向指定URL發送GET方法的請求 * * @param url * 發送請求的URL * @param
Time of Update: 2018-12-03
Android中的Looper類,是用來封裝訊息迴圈和訊息佇列的一個類,用於在android線程中進行訊息處理。handler其實可以看做是一個工具類,用來向訊息佇列中插入訊息的。(1) Looper類用來為一個線程開啟一個訊息迴圈。 預設情況下android中新誕生的線程是沒有開啟訊息迴圈的。(主線程除外,主線程系統會自動為其建立Looper對象,開啟訊息迴圈。)
Time of Update: 2018-12-03
看了好多下載文本的例子,覺得寫得都不是很通俗易懂,我寫一個比較簡單易懂的代碼。package com.example.demodownload;import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import
Time of Update: 2018-12-03
package com.example.demodownload;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import
Time of Update: 2018-12-03
1.初始SurfaceView類SurfaceView是View的一個特別子類,主要是提供應用程式一個輔助線程類來描繪圖形,輔助線程會讓surfaceView按照自己的速率在自己的畫布上描繪。因為是輔助線程來描繪SurfaceView對象,必須將輔助線程類提交給SurfaceHolder,當SurfaceHolder使用lockCanvas()方法鎖定畫布以後,可以在畫布上任意繪製,繪製完成後,就可以是用unlockCanvasAndPost()方法來解鎖畫布。主要代碼如下surfaceView
Time of Update: 2018-12-03
package com.example.demointent;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.
Time of Update: 2018-12-03
第一種描繪方式:使用SurfaceView類來描繪public class MainActivity extends Activity {MySurfaceView mySurfaceView;Thread mainLoop;private MySurfaceView view;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);view = new
Time of Update: 2018-12-03
package com.example.demofile;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.RandomAccessFile;import android.app.Activity;import