Time of Update: 2018-12-06
前段時間做了2個Android方面的項目,現在想抽空對其中的有些知識點進行下總結,也算進一步的學習了。 由於開發手機用戶端一般都要和伺服器打交道,因此使用者的登入驗證在一般的應用中都少不了。因而我將以前做的項目中的使用webservice驗證的這塊單獨寫出來了。我們的手機應用的伺服器端採用的是Asp.net開發的,因而webservice的開發也是用C#開發的,發布在IIS上的。 在Android
Time of Update: 2018-12-06
在Android中很多應用都要檢測網路連接的狀態,下面介紹下檢測網路連接的一個方法:/* 檢測網路連接狀態 */ public static boolean CheckNetWork() { boolean result; ConnectivityManager cm = (ConnectivityManager) MyApplication .getInstance().getSystemService("
Time of Update: 2018-12-06
在Android系統中,如果需要使用資料庫的話,我們一般會使用SQLLite資料庫,同時將資料庫放在res\raw目錄下,這樣方便發布系統的時候,將資料庫一同發布。在系統中對資料庫進行訪問的時候,我們則一般會將資料庫拷貝到我們data/data目前下的我們當前包的名稱的目錄下,這樣更方便我們進行操作。大家可以參考下面的範例程式碼:// 複製和載入地區資料庫中的資料 private void CopyAndLoadDB() { //
Time of Update: 2018-12-06
註:我最近加入了Android中文翻譯組,旨在為大家帶來更好的翻譯。該章節已完成初稿並提交審核校正。以下內容為不完整版本,已不推薦閱讀。最終版之後會由Android中文小組發布,請大家見諒。安卓應用基礎第一次翻譯,翻譯的不對或是不準確的地方還請大家指正,英文原文地址:http://developer.android.com/guide/topics/fundamentals.htmlAndroid應用是用Java程式設計語言寫的。Android
Time of Update: 2018-12-06
今天算是正式開始學習Android的第一天,一個月前搭好環境跑了個Hello World就一直沒再顧上,呵呵。選擇了《Android SDK開發範例大全2》這本書,今天把第三章23個程式敲完跑了一遍,感覺通過例子入門還是很不錯的,畢竟有Java基礎的話理解起來還不是特別困難,唯一鬧心的事模擬器也太慢了,是不是我該升級一下本本的配置了,飄淚花~~。 說說今天的收穫吧,掌握了一下Android應用的基本架構:src目錄當然是放java類的(今天主要掌握Activity),res目錄存放資源檔(
Time of Update: 2018-12-06
前言今天看了pro android 3中menu這一章,對Android的整個menu體系有了進一步的瞭解,故整理下筆記與大家分享。PS:強烈推薦《Pro Android 3》,是我至今為止看到的最好的一本android書,中文版出到《精通Android 2》。理解Android的菜單菜單是許多應用程式不可或缺的一部分,Android中更是如此,所有搭載Android系統的手機甚至都要有一個"Menu"鍵,由此可見菜單在Android程式中的特殊性。Android
Time of Update: 2018-12-06
上一篇《Android菜單詳解(一)——理解android中的menu》簡單介紹了一下Android的菜單,今天讓我們看一下如何通過代碼建立和響應最常用的選項菜單(options menu)。建立options menu之前提到,Android的activity已經為我們提前建立好了android.view.Menu對象,並提供了回調方法onCreateOptionsMenu(Menu
Time of Update: 2018-12-06
我們在上一篇介紹了如何在Android中建立和響應選項菜單,今天我們將探索子功能表和表徵圖菜單。子功能表Sub Menu 子功能表提供了一種自然的組織功能表項目的方式,它被大量地運用在windows和其他OS的GUI設計中。Android同樣支援子功能表,你可以通過addSubMenu(int groupId, int itemId, int order, int titleRes)方法非常方便的建立和響應子功能表。@Overridepublicboolean
Time of Update: 2018-12-06
之前在《Android菜單詳解(二)——建立並響應選項菜單》和《Android菜單詳解(三)——SubMenu和IconMenu》中詳細講解了選項菜單,子功能表和表徵圖菜單。今天接著細說另一種被廣泛使用的菜單——操作功能表Context
Time of Update: 2018-12-06
回顧前面的幾篇,我們都是直接在代碼中添加功能表項目,給功能表項目分組等,這是比較傳統的做法,它存在著一些不足。比如說,為了響應每個功能表項目,我們需要用常量來儲存每個功能表項目的ID等。為此,Android提供了一種更好的方式,就是把menu也定義為應用程式的資源,通過android對資源的本地支援,使我們可以更方便地實現菜單的建立與響應。這一篇就介紹如何使用XML檔案來載入和響應菜單,我們需要做這幾步:在/res目錄下建立menu檔案夾在menu目錄下使用與menu相關的元素定義xml檔案,檔
Time of Update: 2018-12-06
import java.text.SimpleDateFormat;import java.util.Date;import android.app.Activity;import android.app.AlertDialog;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import
Time of Update: 2018-12-06
package com.noti.activity; import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android.content.Intent;import
Time of Update: 2018-12-06
package com.shao.android;import java.util.Random;import android.app.Activity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.os.Handler;import android.os.Message;import
Time of Update: 2018-12-06
當在Android系統中切換語言時,會帶來一個有趣的bug:SimpleDateFormat在處理“z”時區欄位時會花費很長的時間。如果你在一個ListView裡多次調用這個方法,就會發現這個ListView在滾動時很不流暢。控制台相關輸出如下所示:I/Resources( 471): Loaded time zone names for en_US in 1904ms.I/Resources( 471): Loaded time zone names for en_US in 1
Time of Update: 2018-12-06
從Android 2.3 Gingerbread開始,原生支援自拍。下面我們看看如何在程式裡來調用前置的網路攝影機。 第一種方式是採用MediaStore,調用系統原生的相機。 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra("camerasensortype", 2); // 調用自拍 intent.putExtra("autofocus", true);
Time of Update: 2018-12-06
1.打電話;EditText mobileText = (EditText)findViewById(R.id.mobile);String mobile = mobileText.getText().toString();Intent intent = new Intent();intent.setAction("android.intent.action.CALL");intent.setData(Uri.parse("tel:"+
Time of Update: 2018-12-06
Parcel,翻譯過來是“打包”的意思。打包幹什麼呢?是為了序列化。
Time of Update: 2018-12-06
1:查看是否有儲存卡插入 String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_MOUNTED)) { 說明有 SD 記憶卡插入 } 2:讓某個 Activity 透明 OnCreate 中不設 Layout this.setTheme(R.style.Theme_Transparent); 以下是 Theme_Transparent 的定義(注意
Time of Update: 2018-12-06
上回書簡單描述了進程間傳遞類對象的原理,這回在講Parcel之前,先要講一個東西:IBinder。IBinder是什麼呢?首先要明白,Android的遠程調用(就是跨進程調用)就是通過IBinder實現的,下面是對android開發文檔的翻譯。 IBinder是遠程對象的基本介面,是為高效能而設計的輕量級遠程調用機制的核心部分。但它不僅用於遠程調用,也用於進程內調用。這個介面定義了與遠程對象互動的協議。不要直接實現這個介面,而應該從Binder派生。IBinder的主要API是transact(
Time of Update: 2018-12-06
上回書解釋了IBinder,這回詳細解釋一下Parcel,以下是對android sdk 文檔的翻議:Parcel是一個容器,它主要用於儲存序列化資料,然後可以通過Binder在進程間傳遞這些資料(要瞭解為什麼要序列化,請參考:http://blog.csdn.net/nkmnkm/archive/2011/05/28/6451699.aspx)。Parcel可以包含未經處理資料類型(用各種對應的方法寫入,比如writeInt(),writeFloat()等),可以包含Parcelable對象,