如何在android app中使用STL庫,androidstl

來源:互聯網
上載者:User

如何在android app中使用STL庫,androidstl

方法:

1.在jni目錄下建立Application.mk; 加入 APP_STL := stlport_static右邊的值還可以換成下面幾個:

system - 使用預設最小的C++運行庫,這樣產生的應用體積小,記憶體佔用小,但部分功能將無法支援

stlport_static - 使用STLport作為靜態庫,這項是Android開發網極力推薦的

stlport_shared - STLport作為動態庫,這個可能產生相容性和部分低版本的Android韌體,目前不推薦使用。

gnustl_static - 使用 GNU libstdc++ 作為靜態庫

 

預設情況下STLPORT是不支援C++異常處理和RTTI,所以不要出現 -fexceptions 或-frtti;如果真的需要,可以使用gnustl_static來支援標準C++的特性,但產生的檔案體積會偏大,運行效率會低一些。

支援C++異常處理,在Application.mk中加入 LOCAL_CPPFLAGS +=-fexceptions這句,同理支援RTTI,則加入LOCAL_CPPFLAGS +=-frtti,這裡再次提醒大家,第二條說的使用gnustl靜態庫,而不是stlport。

強制重新編譯 STLPort ,在Application.mk中加入STLPORT_FORCE_REBUILD := true可以強制重新編譯STLPort源碼,由於一些原因可能自己需要修改下STLPort庫,一般普通的開發人員無需使用此項

2. 在要使用STL的cpp檔案中包含相關的標頭檔,並且使用using namespace std;



android app如何從資料庫中擷取需要的資料?Android 自動提供資料庫 Android 應用程式使用 SQLite必須自己建立資料庫建立表、索引填充資料Android 提供了 SQLiteOpenHelper 協助建立資料庫只要繼承 SQLiteOpenHelper 類輕鬆建立資料庫SQLiteOpenHelper 類根據開發應用程式需要封裝了建立和更新資料庫使用邏輯SQLiteOpenHelper 子類至少需要實現三方法:
  建構函式調用父類 SQLiteOpenHelper 建構函式
  onCreate()方法;// TODO 建立資料庫對資料庫操作
  onUpgrage()方法// TODO 更改資料庫版本操作
  當完成了對資料庫操作(例 Activity 已經關閉)需要調用 SQLiteDatabase Close() 方法來釋放掉資料庫連接
  操作資料庫佳實踐建立輔助類例連絡人模組
  class ContactsDatabaseHelper extends SQLiteOpenHelper
3.2 Cursor類
  Android使用Cursor類返回需要值Cursor作指標從資料庫查詢返回結集使用Cursor允許Android更有效地管理們需要行和列使用ContentValuesObject Storage Service鍵/值對put()方法允許插入同資料類型索引值
3.3 資料類型
  SQLite 和其資料庫大同對資料類型支援建立表時 CREATE TABLE 語句指定某列資料類型把任何資料類型放入任何列當某值插入資料庫時SQLite 檢查類型該類型與關聯列匹配則 SQLite 會嘗試該值轉換成該列類型能轉換則該值作其本身具有類型儲存比把字串(String)放入 INTEGER 列SQLite 稱弱類型(manifest typing.)

四、資料庫操作
4.1建立和開啟資料庫
  Android建立和開啟資料庫都使用openOrCreateDatabase方法來實現因會自動去檢測否存資料庫存則開啟存則建立資料庫:建立成功則返回SQLiteDatebase對象否則拋出異常FileNotFoundException
下面我們來建立名Test資料庫並返回SQLiteDatabase對象mSQLiteDatabase
mSQLiteDatabase=this.openOrCreateDatabase("Test",MODE_PRIVATE,null);

4.2建立表
  通過execSQL方法來執行條SQL語句
String CREATE_TABLE="create table 表名(列名列名……)";
mSQLiteDatabase.execSQL(CREATE_TABLE);

  建立表時候總要確定主鍵欄位64位整型別名_rowid其特點自增長功能當達大值時會搜尋該欄位未使用值(某些記錄被刪除_rowid會被回收)所要唯嚴格增長自動主鍵必須加入關鍵字autoincrement
4.3刪除表
mSQLiteDatabase("drop table 表名");
如何選擇android app開發的方式Web 應用程式 直接通過手機瀏覽器訪問通過 HTML5 來訪問些基本手機功能開發和維護都非常簡單混合App 種結合前兩者應用架構方式相當於 Web 上用本地 app 殼進行封裝其複雜度介於前二者之間有專門架構來完成樣工作例phonegap等web 開發架構 我們該何選擇呢其實原則簡單:使用熟悉技術開發: 大程度使用已有知識儘管也需要學習些新東西簡單無需審批過程: 開發app能需要發布 app store 上需要經過審批而 web 好處於只需要程式發行伺服器即自動升級: Web 應用程式好處使用者訪問新應用版本無需手工升級支援大多數裝置: 使用標準技術例 HTML5多數智能手機都能支援開發敏捷: 無需審批支援多裝置快速開發儘快新功能提供給使用者 上觀點僅供參考

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.