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

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/webabcd/p/android_ipc_ContentProviderDemo1.html
Copyright © 2011-2022 走看看