全部 文章 问答 分享 共找到902个相关内容
[文章] 内容提供-内容观察者
内容提供-内容观察者这个标题怪怪的,对吧!
[问答] Android4.0观察者不能观察短信内容提供中的内容变化吗
问:拉大锯在bilibili发布的Android学习视频-P8内容提供的第15个视频中,为什么用Android4.0观察短信内容提供内容变化失败,但是Android6.0可以啊?
[文章] Android四大组件之内容提供(ContentProvider)
ContetResovler:我把它叫做内容解析,通过它和内容提供的对接,我们才可以去对内容提供中的数据进行操纵。
[文章] Jetpack学习笔记之LiveData (4)
这种感知能力可确保LiveData仅更新处于活跃生命周期状态的应用组件观察者。完全看不懂!
2020-09-19 17:17 · LiveData / Jetpack / ViewModel
[文章] 内容提供-读取短信内容,读取短信验证码
内容提供-读取短信内容我们已经实现向日历中插入提醒事件了内容提供-向日历中插入提醒事件然后我们又从通讯录中获取到联系人数据内容提供-获取手机通讯里的联系人接下来,当然连短信也不会放过啦!
[问答] 内容提供-读取短信验证码的问题
setContentView(R.layout.activity_verify_code); initView(); initEvent(); //注册短信内容提供观察者
[文章] 内容提供-什么是内容提供
内容提供内容提供,作为android的四大组件之一,说明他的重要性。但是我还是一再强调,它在实际开发中,使用得比较比较少的。什么是内容提供
[文章] 内容提供-自定义内容提供
内容提供-自定义内容提供我们在学习广播的时候,我们首先是学习监听系统发出的广播,然后再去自定广播。
[问答] 关于MVVM
通过观察者模式更新UI?
2023-03-06 13:39 · mvvm
[文章] Jetpack-Lifecycle
一个是当前的状态,一个是它收藏观察者。LifecycleRegistry是一个中间商。桥接着View层和需要知道View生命周期的模块。接下来,我们看看基本的使用吧!
2020-10-09 16:58 · Lifecycle / 生命周期 / View / LifecycleOwner / Jetpack
[文章] 31、Android开发基础之内容提容ContentProvider
Android四大组件内容提供是四大组件之一,还记得Android的四大组件吗?前面我们学习了三大组件了,对吧!其中有:Activity服务Service广播接收什么是内容提供
[文章] 内容提供-获取手机通讯里的联系人
内容提供-获取手机通讯里的联系人前面我们学习完了内容提供的相关知识,现在呢,我们都以应用场景为基础去学习怎么通过内容提供获取数据,实现场景功能。在上一篇文章中,我们完成了向日历里插入提醒事件。
[文章] Jetpack学习笔记之Lifecycle (1)
super.onDestroy(owner)Log.d("itshizhan","onDestroy")}}在需要监听生命周期的Activity中,给lifecycle添加此观察者
2020-09-13 00:07 · Jetpack / Lifecycle
[文章] 【领券联盟】笔记:视频42,43,44,45-NestedScrollView嵌套RecyclerView
的布局高度)-找到并绑定布局@BindView(R.id.home_pager_parent)publicLinearLayouthomePagerParent;给homePagerParent注册一个观察者
2020-04-02 00:05 · 课堂笔记
[问答] 内容提供无用?
如图,虚拟机弹出来了选择了允许所以后面获取到了内容。真机上没弹出了,所以后面也没获取到内容。求没弹出的原因
2020-04-28 00:29 · 内容提供者
[文章] 内容提供-获取媒体库里的图片
内容提供-获取媒体库里的图片对于媒体内容提供的应用场景有哪些呢?
[文章] 内容提供-复习android数据库的知识
内容提供-复习android数据库的知识创建数据库编写数据库DAO编写数据库测试类android数据库的课程传送门androidsqlite数据库课程创建数据库packagecom.sunofbeaches.contentproviderdemo.db
2019-10-30 17:43 · 数据库 / 内容提供者 / android基础 / db / provider
[问答] 使用内容提供和Glide加载相册图片,加载不出任何图片怎么回事

使用内容提供和Glide加载相册图片,加载不出任何图片怎么回事


2022-12-25 08:22 · 内容提供者
[文章] 内容提供-向日历中插入提醒事件
内容提供-向日历中插入提醒事件比如说你要写一个购物,卖票的软件,那么用户可以设置抢票提醒:使用内容提供,我们向日历里插入提醒事件,比如说什么时候要抢购商品呀,家人的生日呀,小孩上学,纪念日之类的。
2019-11-02 02:55 · 日历 / 内容提供者 / provider / 安卓 / android
[文章] 29、Android开发基础之广播接收BroadcastReceiver
onClick="sendBroadcast"android:text="发送广播"/></LinearLayout>以下是Activity的内容
2019-10-22 18:06 · 广播 / 广播接收者 / 安卓开发 / android / 安卓
[文章] 总结使用SpringBoot+Dubbo创建服务提供项目和服务消费项目的流程
总结使用SpringBoot+Dubbo创建服务提供项目和服务消费项目的流程这是我学习的笔记,有什么不对请帮忙指出来(1)总结使用SpringBoot+Dubbo创建服务提供项目的流程①创建SpringBoot
2020-06-19 23:26 · java / spring / SpringBoot / Zookeeperr / dubbo
[问答] 求助:内容提供-日历属性不打印
今天升级了一下AS,logcat窗口就变成这个样子了


红色圈出来的是我自己的打印log,后面就没有其他属于我的打印log(已经截取了完整的logcat窗口,下面没有其他内容

2022-09-27 20:28 · 求助
[分享] 国内访问Android开发官网
大家可以通过这个地址,轻松访问Android开发网站。查看文档,下载AndroidStudio。
2022-08-22 09:15 · Android / 开发者 / developer / google / 文档
[问答] pos机怎么进入开发模式

今天接了个任务,要把项目跑到pos机上,但是usb连接后,as识别不到,也没找到开发模式

pos机的系统是安卓5.1.1

2021-07-07 17:00 · 调试

[文章] ViewModel 的介绍与用法
换句话说,这意味着如果ViewModel的所有因配置更改(例如旋转)而被销毁,则不会销毁它。所有的新实例将重新连接到现有的ViewModel。
2021-01-24 11:43 · Android / 安卓 / ViewModel
[文章] 《Java基础内部类和匿名内部类》
Lamda表达式Java中的Lambda表达式与匿名内部类有紧密的联系,同时也有明显的区别:联系:目的相似性:两都可以用于简化代码,尤其是当需要快速创建一个只执行一次特定任务的对象时,比如实现某个接口的回调方法
[文章] Android 查看app当前运行的线程
a1842664426704672531199613972000SAsyncTask#1u0_a1842664427040672531199613972000SchancesThread2ursa:/$如果想一直观察当前
2021-12-16 15:37 · Android / 性能优化 / thread / shell / adb
[问答] 安卓跨程序无法获取内容提供

1.在写TestProvider时报了个Failed to find provider info for com.example.contentprvider3的异常

Logcat报错部分

2021-11-29 07:31:15.268 5562-5562/com.example.testprovider D/MainActivity: onClick

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider D/MainActivity: cursor------null

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String[] android.database.Cursor.getColumnNames()' on a null object reference

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at com.example.testprovider.MainActivity.RemoteUser(MainActivity.java:34)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at java.lang.reflect.Method.invoke(Native Method)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at java.lang.reflect.Method.invoke(Method.java:372)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at android.view.View.performClick(View.java:4780)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at android.view.View$PerformClick.run(View.java:19866)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at android.os.Handler.handleCallback(Handler.java:739)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at android.os.Handler.dispatchMessage(Handler.java:95)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at android.os.Looper.loop(Looper.java:135)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at android.app.ActivityThread.main(ActivityThread.java:5254)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at java.lang.reflect.Method.invoke(Native Method)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at java.lang.reflect.Method.invoke(Method.java:372)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)

2021-11-29 07:31:15.271 5562-5562/com.example.testprovider W/System.err:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

2.项目ContentProvider部分代码

package com.example.contentprvider3.Provider;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.example.contentprvider3.utils.Constants;
import com.example.contentprvider3.Databasehelper.UserDatabasehelper;


public class UserProvider extends ContentProvider {
    private static final  String SCHEMA="content://";
    private static  final  String AUTHORITY="com.example.contentprvider3.Provider.UserProvider";
    private static  Uri uri_provider =Uri.parse(SCHEMA+AUTHORITY);

    private UserDatabasehelper muserDatabaseHelper = null;
    private static final  int User_Match_Code = 1;
    private static UriMatcher suriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
    static {
        suriMatcher.addURI(AUTHORITY,null,User_Match_Code);
    }

    @Override
    public boolean onCreate() {
        muserDatabaseHelper = new UserDatabasehelper(getContext());
        return false;
    }

    @Nullable
    @Override
    public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) {
      //分配规则
        int result = suriMatcher.match(uri);
        if (result==User_Match_Code){
            SQLiteDatabase db = muserDatabaseHelper.getReadableDatabase();
            Cursor cursor = db.query(Constants.TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder);

        }else{
            //不匹配规则
            throw new IllegalArgumentException("参数错误");
        }

        return null;
    }

    @Nullable
    @Override
    public String getType(@NonNull Uri uri) {
        return null;
    }

    @Nullable
    @Override
    public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {
        return null;
    }

    @Override
    public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {
        return 0;
    }

    @Override
    public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) {
        return 0;
    }
}

3.ContentProvider的Manifest文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.contentprvider3">
<permission android:name="contentprvider3._READ_PERMISSION"
    android:protectionLevel="normal"/>
    <permission android:name="contentprvider3._WRITE_PERMISSION"
        android:protectionLevel="normal"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.ContentPrvider3">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <provider
            android:exported="true"
            android:authorities="com.example.contentprvider3.Provider.UserProvider"
            android:grantUriPermissions="true"
            android:name=".Provider.UserProvider"/>

    </application>

</manifest>

4.TestProvider部分代码

package com.example.testprovider;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {
 private static final  String SCHEMA="content://";
 private static  final  String AUTHORITY="com.example.contentprvider3.Provider.UserProvider";
 private static  Uri uri_provider =Uri.parse(SCHEMA+AUTHORITY);
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void RemoteUser(View view) {
        Log.d(TAG, "onClick");
        ContentResolver contentResolver = getContentResolver();

        Cursor cursor = contentResolver.query(uri_provider, null, null, null, null);

        try {

            Log.d(TAG, "cursor------"+cursor);
            String[] columnNames2 = cursor.getColumnNames();
            for (String columnName : columnNames2) {
                Log.d(TAG, "columnName---" + columnName);
            }

            while (cursor.moveToNext()) {
                Log.d(TAG, "------------");
                for (String columnName : columnNames2) {
                    int columnname = cursor.getColumnIndex(columnName);
                    String value = cursor.getString(columnname);
                    Log.d(TAG, columnName + "------" + value);
                    Log.d(TAG, "----------------");
                }

            }
            cursor.close();
        }catch (Exception e){e.printStackTrace();

        }


        }


         }


5.TestProvider的Manifest文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.testprovider">
    
    <uses-permission android:name="ContentPrivider3._READ_PERMISSION"/>
    <uses-permission android:name="ContentPrivider3._WRITE_PERMISSION"/>
    
<queries>
    <package android:name="com.example.contentprvider3"/>
    <provider android:authorities="com.example.contentprvider3.Provider.UserProvider"/>

</queries>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.TestProvider">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


2021-11-29 15:38 · AndroidProvider
[问答] Android11以上使用ContentResolver报错

这是内容提供应用主要的代码

2024-03-31 14:03 · Android / 内容提供者 / ContentResolver

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 31