Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
xonski
1 / 1 / 0
Регистрация: 24.07.2013
Сообщений: 35
#1

android cursor managedquery specific folder

27.08.2013, 12:39. Просмотров 998. Ответов 0
Метки нет (Все метки)

здравствуйте
Я хочу использовать Cursor.managedQuery определенную папку
Я написал код, но этот код использовать все видео видео в телефоне, но мне нужно только определенную папку
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
public class Video extends ListActivity {
    /** Called when the activity is first created. */
    // To HOLD Data , Display Name , Size and Duration of a Video file
    ArrayList<String> l1 = new ArrayList<String>();
    ArrayList<String> l2 = new ArrayList<String>();
    ArrayList<String> l3 = new ArrayList<String>();
    ArrayList<String> l4 = new ArrayList<String>();
    String sec = null, min = null;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        // Store Required Content Provider URis in String Array
        String[] proj = { MediaStore.Video.Media._ID,
                MediaStore.Video.Media.DATA,
                MediaStore.Video.Media.DISPLAY_NAME,
                MediaStore.Video.Media.SIZE, MediaStore.Video.Media.DURATION };
 
        // Load all Videos with any filter to Cursor Object to access them
        // further
 
        Cursor c = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                proj, null, null, null);
 
        // To get the Position of File Data In the Cursor
        int na = c.getColumnIndex(MediaStore.Video.Media.DATA);
        // To get the Position of File DisplayName In the Cursor
        int nam = c.getColumnIndex(MediaStore.Video.Media.DISPLAY_NAME);
        // To get the Position of File Size In the Cursor
        int si = c.getColumnIndex(MediaStore.Video.Media.SIZE);
        // To get the Position of File Duration In the Cursor
        int du = c.getColumnIndex(MediaStore.Video.Media.DURATION);
        // Start Looping through Cursor object
        if (c.moveToFirst()) {
            do {
                // To get the Value of Data Column
                String name = c.getString(na);
                // To get the Value of DisplayName Column
                String name2 = c.getString(nam);
                // To get the Value of Size in KB Column.. By default the values
                // stored in Bytes in CP
                String siz = Integer.toString(c.getInt(si) / 1024);
                // To get the Value of Duration Column. By default it is stored
                // in SEC
                int time1 = c.getInt(du);
                int seconds = (int) ((time1 / 1000) % 60);
                int minutes = (int) ((time1 / 1000) / 60);
                int hours = (int) ((time1 / 1000) / 3600);
                // Adding the values Row by Row in the above declared ArrayList
                l1.add(name);
                l2.add(name2);
                l3.add(siz);
                // If the file Duration is limited to SEC/MIN then Dont Diplay
                // Hrs [HH:MM:SS] ,
                if (hours <= 0) {
                    l4.add(minutes + ":" + seconds);
                } else {
                    l4.add(hours + ":" + minutes + ":" + seconds);
                }
 
            } while (c.moveToNext());
        }
 
        // Instantiate the ListView object to show all Videos.
        ListView lv = getListView();
        // MyThumbNaili is class to show the Video Thumbnail to Listview as
        // Image. As shown in the O/P Result.
        lv.setAdapter(new MyThumbnaildapter());
        // Setting OnClick Listerner to List-Items.
        lv.setOnItemClickListener(new OnItemClickListener() {
 
            // Implementation of Abstract method on OnItemClickListener class
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
 
                String filename = l1.get(arg2);
                // ***Passing th presently clicked Item to "View Video" as a
                // parameter to Play the video.*** [IMP]
                Intent intent = new Intent(Video.this, ViewVideo.class);
                // while Navigating from this Activity to another Activity
                // below line also pass the choosen File name to another Intent
                intent.putExtra("videofilename", filename);
                startActivity(intent);
 
            }
 
        });
    }
 
    public class MyThumbnaildapter extends BaseAdapter {
 
        // Default Abstract Method in BaseAdapter to get the count of ListItems
        public int getCount() {
 
            return l1.size();
        }
 
        // Default Abstract Method in BaseAdapter to get the Clicked Item Object
        public Object getItem(int position) {
 
            return position;
        }
 
        // Default Abstract Method in BaseAdapter to get the Clicked Item Index
        public long getItemId(int position) {
 
            return position;
        }
 
        // Default Abstract Method in BaseAdapter to : Manage how to display the
        // ThumbNail
        public View getView(int position, View convertView, ViewGroup parent) {
            // Get the present View
            View row = convertView;
 
            if (row == null) {
                // LayoutInflater is used to customise the each Item's view as
                // designed in the Row.XML.
                // By Default All items in the listView displays Text in each
                // row
                // So In order to show the customised look in the Each item of a
                // layout, we need to use this.
                LayoutInflater inflater = getLayoutInflater();
                // Need to pass the Source as Parent. In this case it is ROW.XML
                row = inflater.inflate(R.layout.row, parent, false);
            }
 
            // Setting FilePath TextView with Previosuly loaded Item Values.
            TextView textfilePath = (TextView) row.findViewById(R.id.FilePath);
            textfilePath.setText(l2.get(position) + "\n");
 
            // Setting FileSize TextView with Previosuly loaded Item Values.
            TextView size1 = (TextView) row.findViewById(R.id.FileSize);
            size1.setText(l3.get(position) + "kb");
 
            // Setting Duration TextView with Previosuly loaded Item Values.
            TextView dur = (TextView) row.findViewById(R.id.FileDuration);
            dur.setText(l4.get(position));
            // Setting Thumbnail TextView with Previosuly loaded Item Values.
            ImageView imageThumbnail = (ImageView) row
                    .findViewById(R.id.Thumbnail);
            imageThumbnail.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageThumbnail.setPadding(8, 8, 8, 8);
 
            Bitmap bmThumbnail;
            bmThumbnail = ThumbnailUtils.createVideoThumbnail(l1.get(position),
                    Thumbnails.MICRO_KIND);
            imageThumbnail.setImageBitmap(bmThumbnail);
 
            return row;
        }
 
    }
}
из примера SDCard /video папки

Но оно заполняет все видео сохраняется в SDCard, но я хочу только те видео, которые сохраняются в определенной папке. Я также использовал
Java
1
2
Uri uri = Uri.fromFile(filepath);
cursor = managedQuery(uri, mystring , null , null , null);
и
Java
1
2
Uri uri = Uri.parse(filepath);
cursor = managedQuery(uri, mystring , null , null , null);
Но это не работает. Я пробовал много и получили помощь от Google до сих пор не преуспели. Есть ли способ, чтобы дать путь этой папки? или любым другим способом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2013, 12:39
Ответы с готовыми решениями:

Cursor Android Studio (java.lang.IllegalArgumentException: column '_id' does not exist)
Пытаюсь создать приложения с двумя кнопками: Добавить и Удалить, EditText для...

Write assets folder
Как записать файл в папку активы

Cursor
Подскажите как быть дальше. Есть БД, к ней прикрутил курсор DB db; ...

Cursor
Пытаюсь курсором передать данные, но что то ему не нравится Вот так передаю ...

ArraList or Cursor
Вечер добрый. есть быстрый метод поиска, такого элемента, в ArrayList или...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2013, 12:39

RawQuery using cursor
Здравствуйте. Я сформировал запрос в БД : Cursor cursor2 =...

Получение данных из cursor
У меня огромный вопрос по работе с SQLite, а именно Cursor. В общем то при...

Заполнить RecyclerView из Cursor
Ребят подскажите плз, есть ли способы закинуть данные с бд типа Cursor в список...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru