zoukankan      html  css  js  c++  java
  • 一手遮天 Android

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

    一手遮天 Android - ipc(跨进程通信): ContentProvider

    示例如下:

    /ipc/ContentProviderDemo1.java

    /**
     * 本例用于演示如何调用 ContentProvider
     * 正常演示此示例需要安装 AndroidDemoIpc 项目生成的 app
     *
     * 注:本例调用的 ContentProvider 的具体实现请参见 AndroidDemoIpc 项目中的 ContentProviderDemo1.java
     */
    
    package com.webabcd.androiddemo.ipc;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.widget.TextView;
    
    import com.webabcd.androiddemo.R;
    
    public class ContentProviderDemo1 extends AppCompatActivity {
    
        private TextView mTextView1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_ipc_contentproviderdemo1);
    
            mTextView1 = findViewById(R.id.textView1);
    
            sample();
        }
    
        private void sample() {
            String message = "";
            Cursor cursor = null;
            try {
                // 从指定 url 的 ContentProvider 中查询数据
                Uri uri = Uri.parse("content://cn.webabcd.contentProviderDemo1/api");
                cursor = this.getContentResolver().query(uri, null, null, null, null);
    
                if (cursor == null) {
                    message = "无数据";
                } else {
                    // 从 cursor 中获取数据
                    while (cursor.moveToNext()) {
                        String key = cursor.getString(cursor.getColumnIndex("key"));
                        String value = cursor.getString(cursor.getColumnIndex("value"));
                        message += key + ":" + value + "
    ";
                    }
                }
            } catch (Exception e) {
                message = e.toString();
            } finally {
                // 关闭 cursor
                if (cursor != null) {
                    cursor.close();
                }
            }
    
            mTextView1.setText(message);
        }
    }
    

    /layout/activity_ipc_contentproviderdemo1.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

  • 相关阅读:
    【python 待做】
    【python 第13日】网络通信socket socketserver
    【python第11日】自动生成项目目录 安全插入本文件夹下文件,即使别人引用也可以
    【python 第12日】 except异常
    【python 第10日】打飞机的小游戏 pygame
    【python 第9日】上下文 类装饰器 元类 属性描述符扩展
    Python(2.7)-字符串
    Python(2.7)-字典(dict)
    Python(2.7)-列表(list)
    mysql linux centos yum 安装
  • 原文地址:https://www.cnblogs.com/webabcd/p/android_ipc_ContentProviderDemo1.html
Copyright © 2011-2022 走看看