Android提供的用于不同应用共享数据API
Android系统提供的 ContentProvide
1Applications 提供已安装应用程序信息
Browser 浏览器
CallLog 储存通话记录
.........................
- package c.example.jreduch09.contentprovider;
- import android.database.Cursor;
- import android.os.Bundle;
- import android.provider.MediaStore;
- import android.support.v7.app.AppCompatActivity;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import c.example.jreduch09.R;
- public class ContentActivity extends AppCompatActivity {
- private Button img,mp3,mp4;
- private TextView show;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_content);
- img=(Button)findViewById(R.id.img);
- mp3=(Button)findViewById(R.id.mp3);
- mp4=(Button)findViewById(R.id.mp4);
- show=(TextView)findViewById(R.id.show);
- img.setOnClickListener(new MyListener());
- mp3.setOnClickListener(new MyListener());
- mp4.setOnClickListener(new MyListener());
- }
- public class MyListener implements View.OnClickListener{
- @Override
- public void onClick(View view) {
- int id=view.getId();
- if (id==R.id.img){
- String str[]={MediaStore.Images.Media._ID,
- MediaStore.Images.Media.DISPLAY_NAME,
- MediaStore.Images.Media.DATA,
- };
- Cursor cursor=getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
- str,null,null,null);
- StringBuilder sbd=new StringBuilder();
- while (cursor.moveToNext()){
- sbd.append(cursor.getString(0)+":");
- sbd.append(cursor.getString(1)+":");
- sbd.append(cursor.getString(2)+"\n");
- }
- show.setText(sbd.toString());
- }else if (id==R.id.mp3){
- String str[]={MediaStore.Audio.Media._ID,
- MediaStore.Audio.Media.DISPLAY_NAME,//歌名
- MediaStore.Audio.Media.DATA, //路径
- MediaStore.Audio.Media.SIZE, //
- MediaStore.Audio.Media.ARTIST, //歌手
- MediaStore.Audio.Media.DURATION, //时长
- MediaStore.Audio.Media.ALBUM, //专辑
- };
- Cursor cursor=getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
- str,"duration>?",
- new String[]{"50000"},null );
- StringBuilder sbd=new StringBuilder();
- while (cursor.moveToNext()){
- sbd.append(cursor.getString(0)+":");
- sbd.append(cursor.getString(1)+":");
- sbd.append(cursor.getString(2)+":");
- sbd.append(cursor.getString(3)+":");
- sbd.append(cursor.getString(4)+":");
- sbd.append(cursor.getString(5)+":");
- sbd.append(cursor.getString(6)+"\n");
- }
- show.setText(sbd.toString());
- }else if (id==R.id.mp4){
- String str[]={MediaStore.Video.Media._ID,
- MediaStore.Video.Media.DISPLAY_NAME,
- MediaStore.Video.Media.DATA,
- MediaStore.Video.Media.SIZE
- };
- Cursor cursor=getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
- str,null,null,null );
- StringBuilder sbd=new StringBuilder();
- while (cursor.moveToNext()){
- sbd.append(cursor.getString(0)+":");
- sbd.append(cursor.getString(1)+":");
- sbd.append(cursor.getString(2)+":");
- sbd.append(cursor.getString(3)+"\n");
- }
- show.setText(sbd.toString());
- }
- }
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="c.example.jreduch09.contentprovider.ContentActivity">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- >
- <Button
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:id="@+id/img"
- android:text="扫描图库"
- android:textSize="25sp"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:id="@+id/mp3"
- android:text="扫描音频"
- android:textSize="25sp"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:id="@+id/mp4"
- android:text="扫描视频"
- android:textSize="25sp"
- />
- <ScrollView
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <TextView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/show"
- />
- </ScrollView>
- </LinearLayout>
- </RelativeLayout>