androidschema
1. android app 技術特點怎麼寫
許可權管理
許可權管理是 Android M 最大的改變,許可權管理更加精細,並且由以前的安裝時靜態授權,改為現在的運行時動態授權。
1.系統設置中可以對 APP 各個許可權單獨控制
2.許可權根據內容進行分組了
3.普通許可權還是在安裝時授權
4.其他許可權在運行時系統彈窗授權,並且要解析使用這個許可權的目的
APP Linking
杭州達內Android專家表示這是將 APP 和網頁直接打通的技術,能夠讓 APP 能夠直接來處理你的網站普通的 URL 鏈接,來展示你對應的網站內容。這一點對淘寶等既有網站又有 APP 的應用來說非常有利。
類似於 APP 的 Deep link,可以通過特殊的 Schema 也可以讓 APP 直接打開對應的內容。APP Linking 的特點是,只要使用傳統的 URL 就可以,而且是根據 URL 的域名對應特定的 APP 的。
APP 數據自動備份
支持 APP 數據自動備份到 Google Drive,換手機時,能夠直接把 APP 的數據恢復到手機上,你還可以配置些數據那些數據需要或者不需要備份。
指紋解鎖
Android 官方支持指紋認證,可以用在解鎖,或者任何需要驗證用戶的地方,例如支付。提供新的 API FingerprintManager,讓第三方 APP 來用來獲得指紋認證的功能。
直接分享
直接分享是在 APP 內直接彈出一個選擇分享到其他應用的中的對象的列表,中間省略了選擇需要分享的 APP,選擇「聯系人」之類的操作,進一步簡化了分享操作。
支持藍牙觸控筆
系統內置支持藍牙觸控筆, Android 系統默認支持高大上的觸控筆,提供了 API 讓你的 APP 來響應觸控筆事件。
低功耗藍牙掃描優化
優化了低功耗藍牙掃描優化的掃描。
支持主題化的 ColorStateLists
使用 context.getColorStateList(int id) 來獲取當前主題對應的 ColorStateLists。
相機 API
提供 API 直接開關閃光燈,並且可以監聽閃光燈的開光狀態。
此外,杭州達內Android專家介紹Android M其他特性:
1.有語音交互 API
2.Hotspot 2.0 支持
3.4k 屏支持
4.語音和視頻 API 的改進
5.Android 企業用戶特性
2. 【Android】如何使用ADB進行調試
1、adb devices
( 用於查看當前adb連接的設備有哪些,這里目前是無)
(2)androidschema擴展閱讀:
無線使用ADB(Android Debug Bridge)非常的實用,它能夠讓你的手機用無線來取代USB連接,與電腦鏈接起來更加的方便快捷,還可以保護電池。需要root。
還可以進行以下的操作:
1、快速更新設備或手機模擬器中的代碼,如應用或Android系統升級;
2、在設備上運行shell命令;
3、管理設備或手機模擬器上的預定埠;
4、在設備或手機模擬器上復制或粘貼文件;
老玩家對adb這個調試工具肯定不陌生了,不過一般都是用USB連接來玩兒,這次帶來的是用無線進行連接,就太強大了,畢竟usb連接對電池的壽命有一定影響。
3. android 網頁判斷有沒有安裝app
html中其實是無法判斷應用是否安裝,除非在webview中通過js bridge,這里通過一種方式達到此目的。
1、編輯AndroidManifest.xml:
主要是增加第二個<intent-filter>,myapp用來標識schema,最好能保證手機系統唯一,那樣就可以打開應用,而不是彈出一個選擇框。
android:pathPrefix標識url的path,可以附帶自己的數據通過string傳遞到activity,比如完整url為 myapp://xxx/openwith?data=mydata
<activity
android:name="com.abc.MainActivity"
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="myapp" android:pathPrefix="/xxx/openwith" />
</intent-filter>
</activity>
然後通過activity獲得data數據:
public void onCreate(Bundle savedInstanceState) {
Uri uridata = this.getIntent().getData();
String mydata = uridata.getQueryParameter("data");
...
}
2、編寫html頁面:
整個頁面也許是某個app的詳細介紹,這里只寫出關鍵的js代碼:
function openApp() {
if (/android/i.test(navigator.userAgent)) {
var isrefresh = getUrlParam('refresh'); // 獲得refresh參數
if(isrefresh == 1) {
return
}
window.location.href = 'myapp://xxx/openwith?data=mydata';
window.setTimeout(function () {
window.location.href += '&refresh=1' // 附加一個特殊參數,用來標識這次刷新不要再調用myapp:// 了
}, 500);
}
}
上面代碼可以達到這樣一個目的,先請求 myapp:// ,如果系統能處理,或者說已經安裝了myapp表示的應用,那麼就可以打開,另外,如果不能打開,直接刷新一下當前頁面,等於是重置location。
4. android content:// file:// schema 為什麼
通用資源標志符(Universal Resource Identifier, 簡稱"URI")。
Uri代表要操作的數據,Android上可用的每種資源 - 圖像、視頻片段等都可以用Uri來表示。
URI一般由三部分組成:
在Android平台,URI主要分三個部分:scheme, authority and path。
其中authority又分為host和port。格式如下:scheme://host:port/path
舉個實際的例子:
content://com.example.project:200/folder/subfolder/etc
\---------/ \------------------ -/ \--/ \----------------------/
scheme host port path
\---------------------------/
authority
我們很經常需要解析Uri,並從Uri中獲取數據。
Android系統提供了兩個用於操作Uri的工具類,分別為UriMatcher 和ContentUris 。
掌握它們的使用,會便於我們的Android開發工作。
5. 如何讓android應用實現對多國語的支持語言縮寫
API (Application Programming Interface) 應用編程介面JRE (java Runtime Enviroment) Java 運行時環境JDK (Java Development Kit) Java開發工具包SDK(Software Development Kit, 即軟體開發工具包 )JVM (Java Virtual Machine) Java虛擬機JNI (Java Native Interface) Java本地介面AWT (Abstract Windows Toolekit) 抽象窗口工具箱 JNDI (Java Naming & Directory Interface) JAVA命名目錄服務.主要提供的功能是:提供一個目錄系統,讓其它各地的應用程序在其上面留 下自己的索引,從而滿足快速查找和定位分布式應用程序的功能。JMS (Java Message Service)JAVA消息服務.主要實現各個應用程序之間的通訊.包括點對點和廣播.JTA (Java Transcation API) JAVA事務服務.提供各種分布式事務服務.應用程序只需調用其提供的介面即可.JAF (Java Action FrameWork) JAVA安全認證框架.提供一些安全控制方面的框架.讓開發者通過各種部署和自定義實現自己的個性安全控制策 略.RMI (Remote Method Interface) 遠程方法調用 CVS (Concurrent Versions System) 版本控制器SVN (Subversion) 版本控制器 TC (Test Case) 測試用例,是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個 特定需求。指對一項特定的軟體產品進行測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入數據、測 試步驟、預期結果、測試腳本等,並形成文檔。TDD (Test-Driven Development) 測試驅動開發 HTTP Hypertext Transfer Protocol 超文本傳輸協議FTP File Transfer Protocol 文件傳輸協議TCP/IP Transmission Control Protocol/Internet Protocol 傳輸控制協議和互聯網協議SMTP Simple Mail Transfer Protocol 簡單郵件傳輸協議LAN Local area network 區域網IPX Internetwork Packet Exchange Internet包交換SNA Systems Network Architecture 系統網路體系結構DNS domain name service 域名服務ISP Internet Service Provider Internet服務提供商DHCP Dynamic Host Configuration Protocol 動態主機配置協議IETF Internet Engineering Task Force Internet工程任務組URI(Uniform Resource Identifier)統一資源標識符URL (Uniform Resource Locator)統一資源定位器,URI的一個子集REST (Representational State Transfer) 表述性狀態轉移HTML (Hypertext Markup Language)超文本標記語言RFC (Request fo Comment,Internet標准(草案)) HREF (Hypertext reference 超文本連接) IMAP是Internet Message Access Protocol的縮寫,是用於訪問伺服器上所存儲的郵件的Internet協議。 DBCP (Database connection Pools) 資料庫連接池CGLIB (Code Generation Library)cglib是一個強大的,高性能,高質量的Code生成類庫。它可以在運行期擴展Java類與實現Java介面。 Hibernate用它來實現PO位元組碼的動態生成。SOAP (Simple Object Access Protocal)簡單對象訪問協議,它是一個用於分散和分布式環境下網路信息交換的基於XML的通訊協議。在此協議下,軟體組件或應用程序能夠通過標準的HTTP協議進行通訊。它的設計目標就是簡單性和擴展性,這有助於大量異構程序和平台之間的互操作性,從而使存在的應用程序能夠被廣泛的用戶訪問。SOA (Service Oriented Architecture) 面向服務的架構,其實質就是要將系統模型與系統實現分割開來。WSDL (Web Service Description Lanaguage) 網路服務描述語言 ,是一門基於 XML 的語言,用於描述 Web Services 以及如何對它們進行訪問。UDDI (Universal Description , Discovery and Ingergration)是一種目錄服務,企業可以使用它對 Web services 進行注冊和搜索。可譯 為「通用描述、發現與集成服務」。 DWR (Direct Web Remoting) java的遠程web調用框架 DTD Document type Definition(文檔類型定義),它為一個XML文檔或者文檔集合建立一套規則。它本身不是獨立的技術規范,而是屬於規范的一部分,XML文檔中的文檔類型聲明既可以是標記約束,也可以是帶有標記約束的外部文檔。這兩種約束的總和就是DTD。它規定了XML文檔的構建方式。 PI Processing Instruction(處理指令),XML中指示應用程序執行一些特定的任務。其格式是 <? target instruction?>,它只能是解析器可以識別的XML標准處理指令集中一部分。有時它也被應用程序用來傳達信息,這些信息可用來幫助進行解析,在這種情況下,應用程序中要有可以作為處理指令執行對象的關鍵字。 XML Extentsible Markup Language(可擴展標記語言)的縮寫,是用來定義其它語言的一種元語言,其前身是SGML(標准通用標記語言)。它沒有標簽集(tag set),也沒有語法規則(grammatical rule),但是它有句法規則(syntax rule)。任何XML 文檔對任何類型的應用以及正確的解析都必須是良構的(well-formed),即每一個打開的標簽都必須有匹配的結束標簽,不得含有次序顛倒的標簽,並且在語句構成上應符合技術規范的要求。XML文檔可以是有效的(valid),但並非一定要求有效。所謂有效文檔是指其符合其文檔類型定義(DTD)的文檔。如果一個文檔符合一個模式(schema)的規定,那麼這個文檔是「模式有效的(schema valid)」。 JCP Java Community Process(Java社區過程),負責Java技術發展與審核技術規格的開放組織,JCP對提出的請求投票表決,JCP的專家組成員一般都是業界比較有影響力的企業或者組織。 開放封閉法則 軟體實體應該是可擴展的,但是不可修改的(Software Entities Should Be Open For Extension, Yet Closed For Modification),簡稱OCP,這個法則是OO中最重要的一條法則,其含義是我們應該能夠不用修改軟體實體的源代碼,就能更改軟體實體的行為,符合該法則便意味著最高等級的復用性(reusability)和可維護性(maintainability)。 WFC Windows Foundation Classes for Java 的英文縮寫,他提供了Java 軟體包的架構,他支持面向Windows 操作系統和Dynamic HTML對象模型的組件。 JNode JNode 是個特殊的 JVM,可以在沒有其他 OS 的?機上運行 Java 程序。 AAA 認證(Authentication):驗證用戶的身份與可使用的網路服務;授權(Authorization):依據認證結果開放網路服務給用戶;計帳(Accounting):記錄用戶對各種網路服務的用量,並提供給計費系統。簡稱AAA系統。 RADIUS Remote Authentication Dial In User Service廣泛應用於寬頻窄帶認證系統的協議,前端一般為PPPoE或者802.1x。 BMP Bean-Managed Persistent(Bean管理的持久性),EJB中由Bean自己負責持久性管理的方法,Bean的內容的同步(保存)需要自己編寫代碼實現。 CMP Container-Managed Persistent(容器管理的持久性),EJB中由容器負責entity beans的持久性管理的方法,即容器負責將entity beans的更新同步(保存)到資料庫。 JTA Java Transaction API(Java事務API),Java中進行事務劃分的技術。 WORA Write Once, Run Anywhere(一次編寫,到處運行),Java的宣傳口號,在一定程度上可以達到,對於復雜應用在不同平台上可能需要進行調試。 EJB Enterprise JavaBeans,Java中用於開發企業級應用的技術標准,他定義了一個用於開發和發布可重用的伺服器端組件的模型,包括 Session beans,Entity beans以及Message-driven beans三種。 IDL Interface Definition Language(介面定義語言),CORBA的一個關鍵特性,是一個語言中立的介面定義語言,每個支持CORBA的語言都會有一個自己的IDL映射。 AWT Abstract Window Toolkit(抽象窗口工具包),第一代的Java GUI工具包,現在基本已經不使用其中的組件,已經被Swing 取代,但是Swing是擴展AWT而來。AWT中還包含很多現在GUI編程還在頻繁使用的內容,例如事件處理及監聽、布局管理器等。AWT也是JFC的一部分。 CORBA Common Object Request Broker Architecture(公用對象請求代理[調度]程序體系結構),是一組用來定義「分布式對象系統」的標准,由OMG(Object Menagement Group)作為發起和標准制定單位。CORBA的目的是定義一套協議,符合這個協議的對象可以互相交互,不論它們是用什麼樣的語言寫的,不論它們運行於什麼樣的機器和操作系統。 IIOP Internet Inter-ORB Protocol(互聯網內部對象請求代理協議),Java中使得程序可以和其他語言的CORBA實現實現互操作性的協議。 SPI Service Provider Interface(服務提供商介面),滿足某種服務標準的供應商提供的符合該標準的應用程序介面,SPI應該和該服務的API標準是兼容的,應用程序一般應該是基於API編寫,除非是SPI中包含API中沒有提供的功能而又必須使用。 API Application Programming Interface(應用編程介面),語言、框架以及類庫對外提供的編碼的介面。 RMI Remote Method Invocation(遠程方法調用),Java中進行分布式編程的基礎技術,EJB技術也是基於RMI的。 JSF Java Server Faces,新一代的Java Web應用技術標准,吸收了很多Servlet、JSP以及其他的Web應用框架的特性。JSF為Web應用開發定義了一個事件驅動的、基於組件的模型。 DI Dependency Injection(依賴注入),即組件之間的依賴關系由容器在運行期決定,形象的來說,即由容器動態的將某種依賴關系注入到組件之中。依賴注入的目標並非為軟體系統帶來更多的功能,而是為了提升組件重用的概率,並為系統搭建一個靈活、可擴展的平台。通過依賴注入機制,我們只需要通過簡單的配置,而無需任何代碼就可指定目標需要的資源,完成自身的業務邏輯,而不用關心具體的資源來自何處、由誰實現。(以上同樣摘自夏昕的Spring開發指南)。DI和 IoC是同義詞。 IoC Inversion of Control(控制反轉),由容器控製程序之間的關系,而非傳統實現中,由程序代碼直接操控,控制權由應用代碼中轉到了外部容器,控制權的轉移,是所謂反轉。(以上摘自夏昕的Spring開發指南) L10N localization(本地化),和I18N類似,取首尾字母,中間省略10個字母。 I18N internationalization(國際化),這個單詞的長度是20,然後取其首尾字母,中間省略的字母剛好18個。 AOP Aspect Oriented Programming(面向切面編程),可以通過預編譯方式和運行期動態代理實現在不修改源代碼的情況下給程序動態統一添加功能的一種技術。 MVC Model View Controller的縮寫,為了獲得更好的系統結構而推出的一種宏觀的設計模式,model代表系統的模型層,view是模型的展現層,controller負責業務的流轉,使用MVC可以使得系統的層次清晰,降低各個部分的耦合。 JNI java本地編程介面。是 Java Native Interface 的英文縮寫。他能夠使java代碼與用其他編程語言編寫的應用程序和庫進行互操作。(其他編程語言大多是c,c++和匯編語言。) JDBC Java DataBase Connectivity(Java資料庫連接),用於訪問關系型資料庫的Java技術,僅僅是一種技術標准,訪問不同的關系型資料庫需要相應的JDBC規范的實現包。 JSP Java Server Pages(Java伺服器端頁面),J2EE標准中用於創建動態頁面內容的技術標准,基於Servlet技術,需要支持該標準的伺服器才能運行,最常用的JSP伺服器之一就是Tomcat。 JFC Java Foundation Classes(JAVA基礎類),集合了GUI組件以及其他能簡化開發和桌面和Internet/Intranet應用的服務,其核心就是Swing。 JVM Java Virtual Machine(Java虛擬機),它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的,。 Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。JVM屏蔽了與具體操作系統平台相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,實際上最終還是把位元組碼解釋成具體平台上的機器指令執行。 JRE Java Runtime Environment(Java運行環境),運行JAVA程序所必須的環境的集合,包含JVM標准實現及Java核心類庫。 JSDK Java Software Development Kit,和JDK以及J2SE等同。 JDK Java Development Kit(Java開發工具包):包括運行環境、編譯工具及其它工具、源代碼等,基本上和J2SE等同。 J2ME Java 2 Micro Edition(JAVA2精簡版)API規格基於J2SE ,但是被修改為可以適合某種產品的單一要求。J2ME使JAVA 程序可以很方便的應用於電話卡、尋呼機等小型設備,它包括兩種類型的組件,即配置(configuration)和描述(profile)。 J2EE Java 2 Enterprise Edition(JAVA2企業版),使用Java進行企業開發的一套擴展標准,必須基於J2SE,提供一個基於組件設計、開發、集合、企業應用的途徑。J2EE 平台提供了多層、分布式的應用模型,重新利用組件的能力,統一安全的模式以及靈活的處理控制能力。 J2EE包括EJB, JTA, JDBC, JCA, JMX, JNDI, JMS, JavaMail, Servlet, JSP等規范。 J2SE Java 2 Standard Edition(JAVA2標准版),用來開發Java程序的基礎,包括編譯器、小工具、運行環境,SUN發布的標准版本中還包括核心類庫的所有源代碼。 SableVM SableVM是用C語言寫的非常簡便的JAVA虛擬機網站 JAVA很好 小夥子加油
6. android怎麼使用urlschema
在電腦上下載安卓市場吧
7. android怎麼用Schema驗證xml
這里解決下方案如下:
[note.xml]
Xml代碼
<?xml version="1.0"?>
<note xmlns="
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
網上的例子就是在這里沒設置對xmlns,這里的xmlns一定要和下面note.xsd中的targetNamespace和xmlns一致
[note.xsd]
Xml代碼
<?xml version="1.0"?>
<xs:schema xmlns:xs=""
targetNamespace="/schema/note"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string" />
<xs:element name="from" type="xs:string" />
<xs:element name="heading" type="xs:string" />
<xs:element name="body" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
[java]
Java代碼
String configFileLocation = "/note.xml";
String xsdFileLocation = "/note.xsd";
InputStream configInputStream = this.getClass().getResourceAsStream(configFileLocation);
if (configInputStream == null) {
throw new IllegalArgumentException("can not find resource[" + configFileLocation + "]");
}
InputStream xsdInputStream = this.getClass().getResourceAsStream(xsdFileLocation);
if (xsdInputStream == null) {
throw new IllegalArgumentException("can not find resource[" + xsdFileLocation + "]");
}
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(new SAXSource(new InputSource(xsdInputStream)));
factory.setSchema(schema);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new ErrorHandler() {
@Override
public void warning(SAXParseException exception) throws SAXException {
throw new RuntimeException(exception);
}
@Override
public void fatalError(SAXParseException exception) throws SAXException {
throw new RuntimeException(exception);
}
@Override
public void error(SAXParseException exception) throws SAXException {
throw new RuntimeException(exception);
}
});
document = builder.parse(configInputStream);
System.out.println(document);
轉載,僅供參考。
8. 安卓開發的xml文件代碼問題
聲明xml命名空間。xmlns意思為「xml namespace」.冒號後面是給這個引用起的別名。
schemas是xml文檔的兩種約束文件其中的一種,規定了xml中有哪些元素(標簽)、元素有哪些屬性及各元素的關系,當然從面向對象的角度理解schemas文件可以認為它是被約束的xml文檔的「類」或稱為「模板」。
早期或簡單的xml用的是另一種約束,稱為DTD,這東西大家天天都見到。html/xhtml中都存在(早期的html可能沒有),如"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"。
現在大部分xml文檔的約束都換成schema了,原因是schema本身也是xml,二schema擴展性強。
9. android 資料庫建好後,怎麼建表
sqlite 創建表
下面是教程來自於android學習手冊,android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,文檔都採用文檔結構圖顯示,可以快速定位。360手機助手中下載,圖標上有貝殼
SQLite 的 CREATE TABLE 語句用於在任何給定的資料庫創建一個新表。創建基本表,涉及到命名表、定義列及每一列的數據類型。
語法
CREATE TABLE 語句的基本語法如下:
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
CREATE TABLE 是告訴資料庫系統創建一個新表的關鍵字。CREATE TABLE 語句後跟著表的唯一的名稱或標識。您也可以選擇指定帶有table_name 的 database_name。
實例
下面是一個實例,它創建了一個 COMPANY 表,ID 作為主鍵,NOT NULL 的約束表示在表中創建紀錄時這些欄位不能為 NULL:
sqlite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
讓我們再創建一個表,我們將在隨後章節的練習中使用:
sqlite> CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
您可以使用 SQLIte 命令中的 .tables 命令來驗證表是否已成功創建,該命令用於列出附加資料庫中的所有表。
sqlite>.tables
COMPANY DEPARTMENT
在這里,可以看到我們剛創建的兩張表 COMPANY、 DEPARTMENT。
您可以使用 SQLite .schema 命令得到表的完整信息,如下所示:
sqlite>.schema COMPANY
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
10. android開發怎麼存儲數據
Android平台開發過程中,進行數據存儲的方式有五種,一下是這五種數據存儲的總結:
第一種:使用SharedPreferences存儲數據
適用范圍:保存少量的數據,且這些數據的格式非常簡單:字元串型、基本類型的值。比如應用程序的各種配置信息(如是否打開音效、是否使用震動效果、小游戲的玩家積分等),解鎖口 令密碼等
核心原理:保存基於XML文件存儲的key-value鍵值對數據,通常用來存儲一些簡單的配置信息。通過DDMS的File Explorer面板,展開文件瀏覽樹,很明顯SharedPreferences數據總是存儲在/data/data/<package name>/shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過SharedPreferences.edit()獲取的內部介面Editor對象實現。SharedPreferences本身是一 個介面,程序無法直接創建SharedPreferences實例,只能通過Context提供的getSharedPreferences(String name, int mode)方法來獲取SharedPreferences實例,該方法中name表示要操作的xml文件名,第二個參數具體如下:
Context.MODE_PRIVATE: 指定該SharedPreferences數據只能被本應用程序讀、寫。
Context.MODE_WORLD_READABLE:指定該SharedPreferences數據能被其他應用程序讀,但不能寫。
Context.MODE_WORLD_WRITEABLE:指定該SharedPreferences數據能被其他應用程序讀,寫
Editor有如下主要重要方法:
SharedPreferences.Editor clear():清空SharedPreferences里所有數據
SharedPreferences.Editor putXxx(String key , xxx value):向SharedPreferences存入指定key對應的數據,其中xxx 可以是boolean,float,int等各種基本類型據
SharedPreferences.Editor remove():刪除SharedPreferences中指定key對應的數據項
boolean commit():當Editor編輯完成後,使用該方法提交修改
實際案例:運行界面如下
Android sqlite3資料庫管理工具
Android SDK的tools目錄下提供了一個sqlite3.exe工具,這是一個簡單的sqlite資料庫管理工具。開發者可以方便的使用其對sqlite資料庫進行命令行的操作。
程序運行生成的*.db文件一般位於"/data/data/項目名(包括所處包名)/databases/*.db",因此要對資料庫文件進行操作需要先找到資料庫文件:
1、進入shell 命令
adb shell
2、找到資料庫文件
#cd data/data
#ls --列出所有項目
#cd project_name --進入所需項目名
#cd databases
#ls --列出現寸的資料庫文件
3、進入資料庫
#sqlite3 test_db --進入所需資料庫
會出現類似如下字樣:
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
至此,可對資料庫進行sql操作。
4、sqlite常用命令
>.databases --產看當前資料庫
>.tables --查看當前資料庫中的表
>.help --sqlite3幫助
>.schema --各個表的生成語句
以上便是android開發存儲數據的五種方法!