Ⅰ android 聯系人資料庫介紹以及對聯系人的基本操作
一、 聯系人資料庫 聯系人的資料庫文件的位置 /data/data/com.Android.providers.contacts/databases.contacts2.db 資料庫中重要的幾張表 1、contacts表 該表保存了所有的手機測聯系人,每個聯系人佔一行,該表保存了聯系人的 ContactID、聯系次數、最後一次聯系的時間、是否含有號碼、是否被添加 到收藏夾等信息。 2、raw_contacts表 該表保存了所有創建過的手機測聯系人,每個聯系人佔一行,表裡有一列標 識該聯系人是否被刪除,該表保存了兩個ID:RawContactID和ContactID, 從而將contacts表和raw_contacts表聯系起來。該表保存了聯系人的 RawContactID、ContactID、聯系次數、最後一次聯系的時間、是否被添 加到收藏夾、顯示的名字、用於排序的漢語拼音等信息。 3、 mimetypes 該表定義了所有的MimeTypeID,即聯系人的各個欄位的唯一標志。 4、data表 該表保存了所有創建過的手機測聯系人的所有信息,每個欄位佔一行 ,該表 保存了兩個ID:MimeTypeID和RawContactID,從而將data表和 raw_contacts表聯系起來。 聯系人的所有信息保存在列data1至data15中,各列中保存的內容根據 MimeTypeID的不同而不同。如保存號碼(MimeTypeID=5)的那行數據中, data1列保存號碼,data2列保存號碼類型(手機號碼/家庭號碼/工作號碼等)。 二、對聯系人的基本操作 這里的基本操作只是針對手機測的聯系人,(U)SIM側的聯系人的操 作後續介紹。 如果對聯系人的基本操作,我們必須得到許可。 方法就是在AndroidManifest.xml文件中配置如下許可權: <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
Ⅱ 如何設置sybase資料庫的用戶許可權
sybase資料庫的用戶,包含兩個層面:一個是登陸號,另一個是具體DB的用戶,我們登陸時,使用的是登錄號,但是這個登錄號可以操作哪些DB及操作許可權則取決於資料庫用戶。一般情況下,我們可以採取相同的名字來表示登錄號和資料庫用戶。
首先創建一個登陸號:
sp_addlogin loginame, passwd
loginame 登錄名
passwd 密碼
全部語法(一般不用到)為:
sp_addlogin loginame, passwd [, defdb]
[, deflanguage ] [, fullname ] [, passwdexp ]
[, minpwdlen ] [, maxfailedlogins ]
然後創建用戶:
sp_adser loginame
這樣創建當前資料庫的用戶,且用戶名和登陸名是一樣的。
全部語法為:
[dbname..]sp_adser loginame [, username[, grpname]]
最後分配許可權:
grant all | select,insert,delete,update
on table_name | view_name | stored_procere_name
to username
或
grant all | create database,create
default,create procere,create rule,create table,create view,set proxy,set session authorization
to username
例,假如當前DB為:DB001:
sp_addlogin 'test001','password001'
go
sp_adser 'test001', 'user001'
go
grant create table to user001
go
創建了一個test001的登錄名,之後為之創建一個當前資料庫的用戶,使這個登錄名可以操作當前資料庫。之後分配了創建表的許可權給user001。
這個時候你就可以使用用戶名'test001'和密碼'password001'登陸了,並且可以在DB001中創建表了。同時由於sp_adser 的時候沒有指定grpname參數,那麼默認是public用戶組,這個組里的用戶默認即開通了select/delete/update/insert的許可權。
如果你希望去掉一些許可權,請使用revoke命令,其語法了grant完全相同,你只需要將grant換成revoke即可,例:
revoke select on address to user001
禁止user001查看address表。
Ⅲ Android資料庫許可權!
資料庫支持,無論生命線的大小每一個應用程序,除非你的應用程序只能處理簡單的數據,你需要一個資料庫系統來存儲你的結構化數據,使用SQLite資料庫,這是一個開源的Android,支持多操作系統的SQL資料庫廣泛應用於許多領域,如Mozilla Firefox是使用SQLite的存儲配置數據,iPhone還使用SQLite來存儲數據。
在Android中,您創建一個應用程序的資料庫,只有它可以訪問,其他應用程序無法訪問位於Android設備/數據/數據/ /資料庫文件夾中的資料庫,在這篇文章中,您將學習如何創建和使用在Android的資料庫。
SQLite資料庫
使用Eclipse創建一個Android項目,命名資料庫,如圖1:
中國1資料庫 - 使用Eclipse創建新項目的Android
創建最佳實踐DBAdapter資料庫的輔助類
操作是創建一個輔助類,它封裝了訪問資料庫的所有復雜性,調用代碼來講它是透明的,所以我創建了一個幫手DBAdapter類,創建,打開,關閉和使用SQLite資料庫它。
首先,在src /文件夾(在本實施例中的src / net.learn2develop.Database)下一個DBAdapter.java文件中的溶液。
在DBAdapter.java文件要使用導入所有的命名空間:
- 軟體包net.learn2develop.Databases;
中國進口android.content.ContentValues;
進口android.content.Context;
進口android.database.Cursor;
進口android.database.SQLException;
進口android.database.sqlite.SQLiteDatabase;
進口android.database.sqlite .SQLiteOpenHelper;
進口android.util.Log;
公共類DBAdapter
{}
中國接下來,創建一個資料庫,名為bookstitles,如圖所示領域。
中國2資料庫欄位酒店在DBAdapter.java文件,如清單1
文件清單1中定義的常量定義DBAdapter.java不斷
包net.learn2develop.Database;
進口android.content.ContentValues;
進口android.content。語境;
進口android.database.Cursor;
進口android.database.SQLException;
進口android.database.sqlite.SQLiteDatabase;
進口android.database.sqlite.SQLiteOpenHelper;
進口android.util.Log;
公共類DBAdapter
{
公共靜態最後弦樂KEY_ROWID = _id;
公共靜態最後弦樂KEY_ISBN = ISBN;
公共靜態最後弦樂KEY_TITLE =稱號;
公共靜態最後弦樂KEY_PUBLISHER =發行;
私有靜態最後字元串變數= DBAdapter;
私有靜態最後弦樂DATABASE_NAME =書籍;
私有靜態最後弦樂DATABASE_TABLE =職稱;
私有靜態最終詮釋DATABASE_VERSION = 1;
私有靜態最後弦樂DATABASE_CREATE =
創建表的標題(_id整數主鍵自動增量,
+ ISBN文本不為空,標題文本不為空,
+出版商文字NOT NULL); ;
私人最終上下文語境;
}
DATABASE_CREATE常數包括標題表創建SQL語句。
在DBAdapter類,你可以擴展SQLiteOpenHelper類,這是一款Android輔助類,主要用於創建資料庫和版本管理。事實上,你可以覆蓋的onCreate()和onUpgrade()方法,如清單2所示清單2.
DBAdapter類,涵蓋了SQLiteOpenHelper的onCreate()和onUpgrade()方法登錄到到網擴展類 - 軟體包net.learn2develop.Database;
中國進口的Android。 content.ContentValues;
進口android.content.Context;
進口android.database.Cursor;
進口android.database.SQLException;
進口android.database.sqlite.SQLiteDatabase;
進口android.database.sqlite.SQLiteOpenHelper;
進口android.util.Log;
公共類DBAdapter
{
公共靜態最後弦樂KEY_ROWID = _id;
公共靜態最後弦樂KEY_ISBN = ISBN;
公共靜態最後弦樂KEY_TITLE =稱號;
公共靜態最後弦樂KEY_PUBLISHER =發行;
私有靜態最後字元串變數= DBAdapter;
私有靜態最後弦樂DATABASE_NAME =書籍;
私有靜態最後弦樂DATABASE_TABLE =職稱;
私有靜態最終詮釋DATABASE_VERSION = 1;
私有靜態最後弦樂DATABASE_CREATE =
創建表的標題(_id整數主鍵自動增量,
+ ISBN文本不為空,標題文本不為空,
+出版商文字NOT NULL);;
私人最終上下文語境;
私人DatabaseHelper DBHelper;
私人SQLiteDatabase分貝;
公共DBAdapter(上下文CTX){
this.context = CTX;
DBHelper =新DatabaseHelper(上下文);
}
私有靜態類DatabaseHelper擴展SQLiteOpenHelper
{
DatabaseHelper(上下文環境){
超(背景下,DATABASE_NAME,空,DATABASE_VERSION);
}
覆蓋
公共無效的onCreate(SQLiteDatabase DB){
db.execSQL(DATABASE_CREATE);
}
覆蓋
公共無效onUpgrade(SQLiteDatabase分貝,INT oldVersion,
INT NEWVERSION){
Log.w(TAG,從版本升級資料庫?+ oldVersion
?+到
+ NEWVERSION +,這將銷毀所有舊的數據);
db.execSQL(「DROP TABLE IF EXISTS標題」);
的onCreate(DB);
}}
}
的onCreate()方法創建一個新的資料庫,onUpgrade()方法用於升級資料庫,它可以通過檢查DATABASE_VERSION常數值來定義?實現,為onUpgrade()方法,只是簡單地刪除表,然後只創建一個表。
Ⅳ 如何設置資料庫的許可權
1、首先用管理員進入資料庫級中的安全性,點擊登錄名,點擊新建登錄名。
Ⅳ 如何進行Android資料庫操作
在自己Android資料庫接收或發出一個系統action的時候,要名副其實。比如你響應一個view動作,做的確實edit的勾當,你發送一個pick消息,其實你想讓別人做edit的事,這樣都會造成混亂。
一個好的習慣是創建一個輔助類來簡化你的Android資料庫交互。考慮創建一個資料庫適配器,來添加一個與資料庫交互的包裝層。它應該提供直觀的、強類型的方法,如添加、刪除和更新項目。資料庫適配器還應該處理查詢和對創建、打開和關閉資料庫的包裝。
它還常用靜態的Android資料庫常量來定義表的名字、列的名字和列的索引。下面的代碼片段顯示了一個標准資料庫適配器類的框架。它包括一個SQLiteOpenHelper類的擴展類,用於簡化打開、創建和更新資料庫。
import android.content.Context; import android.database.*; import android.database.sqlite.*; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.util.Log; public class MyDBAdapter { // The name and column index of each column in your database. public static final String KEY_NAME=」name」; public static final int NAME_COLUMN = 1; // TODO: Create public field for each column in your table. // SQL Statement to create a new database. private static final String DATABASE_CREATE = 「create table 「 + DATABASE_TABLE + 「 (「 + KEY_ID + 「 integer primary key autoincrement, 「 + KEY_NAME + 「 text not null);」; // Variable to hold the database instance private SQLiteDatabase db; // Context of the application using the database. private final Context context; // Database open/upgrade helper private myDbHelper dbHelper; public MyDBAdapter(Context _context) { context = _context; dbHelper = new myDbHelper(context, DATABASE_NAME, null, DATABASE_VERSION); } public MyDBAdapter open() throws SQLException { db = dbHelper.getWritableDatabase(); return this; } public void close() { db.close(); } public long insertEntry(MyObject _myObject) { ContentValues contentValues = new ContentValues(); // TODO fill in ContentValues to represent the new row return db.insert(DATABASE_TABLE, null, contentValues); } public boolean removeEntry(long _rowIndex) { return db.delete(DATABASE_TABLE, KEY_ID + 「=」 + _rowIndex, null) > 0; } public Cursor getAllEntries () { return db.query(DATABASE_TABLE, new String[] {KEY_ID, KEY_NAME}, null, null, null, null, null); } public MyObject getEntry(long _rowIndex) { MyObject objectInstance = new MyObject(); // TODO Return a cursor to a row from the database and // use the values to populate an instance of MyObject return objectInstance; } public int updateEntry(long _rowIndex, MyObject _myObject) { String where = KEY_ID + 「=」 + _rowIndex; ContentValues contentValues = new ContentValues(); // TODO fill in the ContentValue based on the new object return db.update(DATABASE_TABLE, contentValues, where, null); } private static class myDbHelper extends SQLiteOpenHelper { public myDbHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } // Called when no database exists in // disk and the helper class needs // to create a new one. @Override public void onCreate(SQLiteDatabase _db) { _db.execSQL(DATABASE_CREATE); }
Ⅵ android 讀寫文件需要哪些許可權
<!--往sdcard中寫入數據的許可權 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!--在sdcard中創建/刪除文件的許可權 --><uses-permission android:name="android.permission.MOUNT_U
android中的apk必須簽名
這種簽名不是基於權威證書的,不會決定某個應用允不允許安裝,而是一種自簽名證書。
重要的是,android系統有的許可權是基於簽名的。比如:system等級的許可權有專門對應的簽名,簽名不對,許可權也就獲取不到。默認生成的APK文件是debug簽名的。
獲取system許可權時用到的簽名,見:如何使Android應用程序獲取系統許可權。基於UserID的進程級別的安全機。這種簽名不是基於權威證書的,不會決定某個應用允不允許安裝,而是一種自簽名證書。重要的是,android系統有的許可權是基於簽名的。
Ⅶ android 查看資料庫需要什麼許可權
如果您需要讓某些登錄用戶具有不同的訪問許可權,請確保用戶資料庫表格包含一個特定的列,該列指定每個用戶的訪問許可權(「來賓」、「用戶」、「管理員」等)。每個用戶的訪問許可權應該由站點管理員在資料庫中輸入。
在大多數資料庫應用程序中,每當新建一個記錄時,可以將一個列設置為默認值。將該默認值設置為站點上最常用的訪問許可權(例如「來賓」);然後手動更改例外的情況(例如,將「來賓」更改為「管理員」)。用戶現在即可訪問所有管理員頁。
確保資料庫中的每個用戶都具有單一的訪問許可權(例如「來賓」或「管理員」),而不是多項許可權(例如「用戶、管理員」)。如果要為您的頁設置多項訪問許可權(例如,所有來賓和管理員都可以查看該頁),則在頁級別(而不是在資料庫級別)設置這些許可權。
Ⅷ 怎麼設置SQL資料庫用戶許可權
--SQLServer:
一、操作步驟
首先進入資料庫級別的【安全性】-【登錄名】-【新建登錄名】
(圖11:其它對象類型)
Ⅸ android中怎麼對沒有root許可權的手機, 進行資料庫表的增刪改查。
你要對什麼資料庫做此操作啊?系統外app的資料庫么?如果此app是你自己做的 可以用Android studio 編寫代碼來實現增刪改查,不過只局限於你自己的app。系統級別的不行。