当前位置:首页 > 代码 > 正文

android企业通讯录源代码(android通讯录开发完整代码)

admin 发布:2022-12-19 04:49 147


今天给各位分享android企业通讯录源代码的知识,其中也会对android通讯录开发完整代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用java做一个可以在android平台上运行的通讯录,急求!

如果使用android平台来开发的,数据库是用的litesql而不是mysql数据库,

首先要搭建android开发平台,当你搭建好了以后运行虚拟设备,就能看到他提供的源程序,建议先了解清楚android的开发基本知识,至少对android这个平台有了大概的认识就ok了。

android开发怎样获取通讯录联系人信息

在Android开发中,我经常会遇到需要获取手机通讯录联系人信息,Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息获取出来。

下面直接贴出代码供大家参考:

程序文件java代码:

import java.io.InputStream;

import java.util.ArrayList;

import android.app.ListActivity;

import android.content.ContentResolver;

import android.content.ContentUris;

import android.content.Context;

import android.content.Intent;

import android.database.Cursor;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.net.Uri;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.provider.ContactsContract.CommonDataKinds.Phone;

import android.provider.ContactsContract.CommonDataKinds.Photo;

import android.text.TextUtils;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.AdapterView.OnItemClickListener;

public class ContactsActivity extends ListActivity {

Context mContext = null;

/**获取库Phon表字段**/

private static final String[] PHONES_PROJECTION = new String[] {

Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID,Phone.CONTACT_ID };

/**联系人显示名称**/

private static final int PHONES_DISPLAY_NAME_INDEX = 0;

/**电话号码**/

private static final int PHONES_NUMBER_INDEX = 1;

/**头像ID**/

private static final int PHONES_PHOTO_ID_INDEX = 2;

/**联系人的ID**/

private static final int PHONES_CONTACT_ID_INDEX = 3;

/**联系人名称**/

private ArrayListString mContactsName = new ArrayListString();

/**联系人头像**/

private ArrayListString mContactsNumber = new ArrayListString();

/**联系人头像**/

private ArrayListBitmap mContactsPhonto = new ArrayListBitmap();

ListView mListView = null;

MyListAdapter myAdapter = null;

@Override

public void onCreate(Bundle savedInstanceState) {

mContext = this;

mListView = this.getListView();

/**得到手机通讯录联系人信息**/

getPhoneContacts();

myAdapter = new MyListAdapter(this);

setListAdapter(myAdapter);

mListView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView? adapterView, View view,

int position, long id) {

//调用系统方法拨打电话

Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri

.parse("tel:" + mContactsNumber.get(position)));

startActivity(dialIntent);

}

});

super.onCreate(savedInstanceState);

}

/**得到手机通讯录联系人信息**/

private void getPhoneContacts() {

ContentResolver resolver = mContext.getContentResolver();

// 获取手机联系人

Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);

if (phoneCursor != null) {

while (phoneCursor.moveToNext()) {

//得到手机号码

String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);

//当手机号码为空的或者为空字段 跳过当前循环

if (TextUtils.isEmpty(phoneNumber))

continue;

//得到联系人名称

String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);

//得到联系人ID

Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);

//得到联系人头像ID

Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);

//得到联系人头像Bitamp

Bitmap contactPhoto = null;

//photoid 大于0 表示联系人有头像 如果没有给此人设置头像则给他一个默认的

if(photoid 0 ) {

Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);

InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri);

contactPhoto = BitmapFactory.decodeStream(input);

}else {

contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo);

}

mContactsName.add(contactName);

mContactsNumber.add(phoneNumber);

mContactsPhonto.add(contactPhoto);

}

phoneCursor.close();

}

}

/**得到手机SIM卡联系人人信息**/

private void getSIMContacts() {

ContentResolver resolver = mContext.getContentResolver();

// 获取Sims卡联系人

Uri uri = Uri.parse("content://icc/adn");

Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null,

null);

if (phoneCursor != null) {

while (phoneCursor.moveToNext()) {

// 得到手机号码

String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);

// 当手机号码为空的或者为空字段 跳过当前循环

if (TextUtils.isEmpty(phoneNumber))

continue;

// 得到联系人名称

String contactName = phoneCursor

.getString(PHONES_DISPLAY_NAME_INDEX);

//Sim卡中没有联系人头像

mContactsName.add(contactName);

mContactsNumber.add(phoneNumber);

}

phoneCursor.close();

}

}

class MyListAdapter extends BaseAdapter {

public MyListAdapter(Context context) {

mContext = context;

}

public int getCount() {

//设置绘制数量

return mContactsName.size();

}

@Override

public boolean areAllItemsEnabled() {

return false;

}

public Object getItem(int position) {

return position;

}

public long getItemId(int position) {

return position;

}

public View getView(int position, View convertView, ViewGroup parent) {

ImageView iamge = null;

TextView title = null;

TextView text = null;

if (convertView == null) {

convertView = LayoutInflater.from(mContext).inflate(

R.layout.colorlist, null);

iamge = (ImageView) convertView.findViewById(R.id.color_image);

title = (TextView) convertView.findViewById(R.id.color_title);

text = (TextView) convertView.findViewById(R.id.color_text);

}

//绘制联系人名称

title.setText(mContactsName.get(position));

//绘制联系人号码

text.setText(mContactsNumber.get(position));

//绘制联系人头像

iamge.setImageBitmap(mContactsPhonto.get(position));

return convertView;

}

}

}

android 怎么通过js调用手机通讯录

思路:

1、js调用android的java代码

2、通过java代码访问通讯录

3、通过java代码访问js代码返回通讯录信息

代码:

1、js调用android的java代码

 js代码:

window.ncp.callOnJs2("click");

android代码,通过webview打开页面:

mWebview.getSettings().setJavaScriptEnabled(true); 

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");  

final class JavaScriptInterface {     

       public int callOnJs() {                            

          return 1000;  

       }     

       public void callOnJs2(String mode) {  

         //TODO  

       }       

  }

2、通过java代码访问通讯录

/**得到手机通讯录联系人信息**/  

   private void getPhoneContacts() {  

ContentResolver resolver = mContext.getContentResolver();  

 

// 获取手机联系人  

Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);  

 

 

if (phoneCursor != null) {  

    while (phoneCursor.moveToNext()) {  

 

    //得到手机号码  

    String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);  

    //当手机号码为空的或者为空字段 跳过当前循环  

    if (TextUtils.isEmpty(phoneNumber))  

        continue;  

      

    //得到联系人名称  

    String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);  

      

    //得到联系人ID  

    Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);  

 

    //得到联系人头像ID  

    Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);  

      

    //得到联系人头像Bitamp  

    Bitmap contactPhoto = null;  

 

    //photoid 大于0 表示联系人有头像 如果没有给此人设置头像则给他一个默认的  

    if(photoid  0 ) {  

        Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);  

        InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri);  

        contactPhoto = BitmapFactory.decodeStream(input);  

    }else {  

        contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo);  

    }  

      

    mContactsName.add(contactName);  

    mContactsNumber.add(phoneNumber);  

    mContactsPhonto.add(contactPhoto);  

    }  

 

    phoneCursor.close();  

}

3、通过java代码访问js代码返回通讯录信息

mWebView.loadUrl("javascript:onSaveCallback()");

如何调用android通讯录

这个过程有三步:1)许可

向你的应用程序的manifest中添加读取通讯录数据的许可

uses-permission android:name="android.permission.READ_CONTACTS"/2)

调用Contact Picker

在你的activity中,创建一个Intent,用来请求系统查找一个能够执行一个从Contacts URI的项目中发出的PICK动作的activity,

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);

调用startActivityForResult在Intent中传递(和一个整数的请求代码,在这个例子中是PICK

CONTACT )。这将导致android启动一个已经被等级的activity,用来支持在People.CONTENT

URI上的ACTION_PICK ,然后当按下选择(或者取消)的时候返回到这个activity。

startActivityForResult(intent, PICK_CONTACT);3)

仍然在你的activity中,重写onActivityResul方法来监听在你的第二个步骤中启动的activi'select a contact' activity的回调。你应该检查反馈的请求代码是否匹配你的期望值,结果代码是否是 RESULT_OK。

通过在数据Intent参数中调用getData()你可以获得选择的联系人的URI。为了获得选择的联系人的名字你需要使用URI从返回的游标中创建一个新的查询和提取的参数。

@Overridepublic void onActivityResult(int reqCode, int resultCode, Intent data) {

super.onActivityResult(reqCode, resultCode, data);

switch (reqCode) {

case (PICK_CONTACT) :

if (resultCode == Activity.RESULT_OK) {

Uri contactData = data.getData();

Cursor c = managedQuery(contactData, null, null, null, null);

if (c.moveToFirst()) {

String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));}}break;}}

您认为此回答:有用(3)收藏(0)

跪求大神给份用Android做的手机通讯录的完整源码,能够打电话,发短信,创建等等,谢谢了。

Android通讯录管理(获取联系人、通话记录、短信消息)

用这个地址

android通讯录源码中如何去掉进入时的图片

首先你要看看这张图片是直接作为背景或者其他图片在布局中引用,还是在代码中动态添加,然后看看是什么操作,如果在布局中引用,可以删掉,或者替换掉,动态添加的话,把那句话注释掉看看。

android企业通讯录源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于android通讯录开发完整代码、android企业通讯录源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/2650.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载