如何在Android Studio的视频播放器中获取视频文件目录

这就是我的工作

public video() {
}

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate( R.layout.fragment_video,container,false );
    recyclerView = view.findViewById( R.id.recyvle );

    videomodelArrayList = new ArrayList<>();


    runtimepermision();


    return view;
}

private void ini() {
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager( getcontext());
//    GridLayoutManager linearLayoutManager = new GridLayoutManager( getcontext(),2);
    recyclerView.setHasFixedSize( true );

    recyclerView.setLayoutManager( linearLayoutManager );

    fachfromgalary();
}

private void fachfromgalary() {

    Uri uri;
    Cursor cursor;
    int coli_int_data,columb_index_filder_name,columb_id,thum;
    String absilutpathimage = null;
    uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
    String[] projecter = {
            MediaStore.Video.Media._ID,MediaStore.MediaColumns.DATA,MediaStore.Video.DEFAULT_SORT_ORDER,MediaStore.Video.Thumbnails.DATA};
    String orderby = MediaStore.Images.Media.DATE_TAKEN;
    String selection= MediaStore.Video.Media.DATA+"like?";
    String []aray= new String[]{"%FolderName%"};
    cursor = getactivity().getcontentResolver().query( uri,projecter,selection,aray,orderby + " DESC" );
    coli_int_data = cursor.getcolumnIndexOrThrow( MediaStore.MediaColumns.DATA );

   //   columb_index_filder_name = cursor.getcolumnIndexOrThrow( MediaStore.Video.Media.DISPLAY_NAME );
    //         columb_id=cursor.getcolumnIndexOrThrow( MediaStore.Video.Media._ID );
    thum = cursor.getcolumnIndexOrThrow( MediaStore.Video.Thumbnails.DATA );

    while (cursor.moveToNext()) {
        absilutpathimage = cursor.getString( coli_int_data );
        videomodel videomodel = new videomodel();
        videomodel.setBoolean_selected( false );
     //   videomodel.setStr_name( columb_index_filder_name );
        videomodel.setStr_path( absilutpathimage );
        videomodel.setStr_thumb( cursor.getString( thum ) );
        videomodelArrayList.add( videomodel );
    }

    videoadapter videoadapter = new videoadapter( getactivity().getapplicationContext(),videomodelArrayList,getactivity() );
    recyclerView.setadapter( videoadapter );
}

private void runtimepermision() {
    Dexter.withactivity( getactivity() ).withPermission( Manifest.permission.READ_EXTERNAL_STORAGE ).withListener( new PermissionListener() {

        @Override
        public void onPermissionGranted(PermissionGrantedResponse response) {
            ini();
        }

        @Override
        public void onPermissionDenied(PermissionDeniedResponse response) {

        }

        @Override
        public void onPermissionRationaleShouldBeShown(PermissionRequest permission,PermissionToken token) {
            token.continuePermissionRequest();
        }


    } ).check();

错误日志:

  

2019-11-12 15:09:06.900 6648-6682 / com.abhijeet.video E / MemoryLeakMonitorManager:MemoryLeakMonitor.jar不存在!   2019-11-12 15:09:06.901 6648-6648 / com.abhijeet.video E / Minikin:无法获取cmap表大小!   2019-11-12 15:09:12.444 6648-6699 / com.abhijeet.video E / vndksupport:无法从sphal名称空间加载vendor / lib64 / egl / libGLES_mali.so:dlopen失败:库“ vendor / lib64 / egl /找不到libGLES_mali.so。   2019-11-12 15:11:53.515 6648-6648 / com.abhijeet.video E / Android运行时:致命异常:主要       流程:com.abhijeet.video,PID:6648       java.lang.RuntimeException:无法启动活动ComponentInfo {com.abhijeet.video/com.abhijeet.video.Mainactivity}:android.database.sqlite.SQLiteException:靠近“?”:语法错误(Sqlite代码1):,而编译:SELECT _data,_display_name,_id,_data from video WHERE(_datalike?)ORDER BY datetaked DESC,(操作系统错误-2:无此类文件或目录)           在android.app.activityThread.performLaunchactivity(activityThread.java:3303)           在android.app.activityThread.handleLaunchactivity(activityThread.java:3411)           在android.app.activityThread.handleRelaunchactivity(activityThread.java:5477)           在android.app.activityThread.-wrap19(未知来源:0)           在android.app.activityThread $ H.handleMessage(activityThread.java:2000)           在android.os.Handler.dispatchMessage(Handler.java:108)           在android.os.Looper.loop(Looper.java:166)           在android.app.activityThread.main(activityThread.java:7529)           在java.lang.reflect.Method.invoke(本机方法)           在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:245)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)        引起原因:android.database.sqlite.SQLiteException:靠近“?”:语法错误(Sqlite代码1):,同时编译:SELECT _data,_display_name,_id,_data from video WHERE(_datalike?)ORDER BY datetaken DESC,(OS错误-2:没有此类文件或目录)           在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:179)           在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)           在android.content.ContentProviderProxy.query(ContentProviderNative.java:418)           在android.content.ContentResolver.query(ContentResolver.java:766)           在android.content.ContentResolver.query(ContentResolver.java:716)           在android.content.ContentResolver.query(ContentResolver.java:667)           在com.abhijeet.video.fragenment_vidoe.video.fachfromgalary(video.java:97)           在com.abhijeet.video.fragenment_vidoe.video.ini(video.java:78)           在com.abhijeet.video.fragenment_vidoe.video.access $ 000(video.java:46)           在com.abhijeet.video.fragenment_vidoe.video $ 1.onPermissionGranted(video.java:123)           在com.karumi.dexter.MultiplePermissionsListenerToPermissionListenerAdapter.onPermissionsChecked(未知来源:35)           在com.karumi.dexter.DexterInstance $ 1.run(未知来源:43)           在com.karumi.dexter.MainThread.execute(未知来源:6)           在com.karumi.dexter.DexterInstance.checkMultiplePermissions(未知来源:56)           在com.karumi.dexter.DexterInstance.checkPermissions(未知来源:0)           在com.karumi.dexter.Dexter.check中(未知来源:10)           在com.abhijeet.video.fragenment_vidoe.video.runtimepermision(video.java:137)           在com.abhijeet.video.fragenment_vidoe.video.onCreateView(video.java:65)           在android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)           在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)           在android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)           在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)           在android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)           在android.support.v4.app.FragmentManagerImpl.dispatchactivityCreated(FragmentManager.java:3229)           在android.support.v4.app.FragmentController.dispatchactivityCreated(FragmentController.java:201)           在android.support.v4.app.Fragmentactivity.onStart(Fragmentactivity.java:620)           在android.support.v7.app.AppCompatactivity.onStart(AppCompatactivity.java:178)           在android.app.Instrumentation.callactivityOnStart(Instrumentation.java:1339)           在android.app.activity.performStart(activity.java:7403)           在android.app.activityThread.performLaunchactivity(activityThread.java:3266)           在android.app.activityThread.handleLaunchactivity(activityThread.java:3411)           在android.app.activityThread.handleRelaunchactivity(activityThread.java:5477)           在android.app.activityThread.-wrap19(未知来源:0)           在android.app.activityThread $ H.handleMessage(activityThread.java:2000)           在android.os.Handler.dispatchMessage(Handler.java:108)           在android.os.Looper.loop(Looper.java:166)           在android.app.activityThread.main(activityThread.java:7529)           在java.lang.reflect.Method.invoke(本机方法)           在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:245)           com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

chen19890926 回答:如何在Android Studio的视频播放器中获取视频文件目录

首先,我认为您需要在“喜欢”中添加一个空格。要“喜欢?”

Property 'items' does not exist on type 'ShoppingItems[]'

像这样

String selection= MediaStore.Video.Media.DATA+"like?";
本文链接:https://www.f2er.com/3118297.html

大家都在问