Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
xonski
1 / 1 / 0
Регистрация: 24.07.2013
Сообщений: 35
#1

android cursor managedquery specific folder - Программирование Android

27.08.2013, 12:39. Просмотров 983. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос android cursor managedquery specific folder (Программирование Android):

Write assets folder - Программирование Android
Как записать файл в папку активы

Cursor - Программирование Android
Подскажите как быть дальше. Есть БД, к ней прикрутил курсор DB db; @Override protected void onCreate(Bundle...

Cursor - Программирование Android
Пытаюсь курсором передать данные, но что то ему не нравится Вот так передаю public class GetNewsDB { DB db; RemindDTO...

RawQuery using cursor - Программирование Android
Здравствуйте. Я сформировал запрос в БД : Cursor cursor2 = db.rawQuery(&quot;SELECT catname4 FROM contact_table WHERE catname2='Riko'...

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

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

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

Заполнить RecyclerView из Cursor - Программирование Android
Ребят подскажите плз, есть ли способы закинуть данные с бд типа Cursor в список ResyclerView? Или нужно обязательно переводить данные в...

Рэндомно забрать из cursor - Программирование Android
Доброго времени! Мне нужно рэндомно забрать из cursor слово и заполнить буквами из него button на TableLayout т.е. каждую букву на новую...

Cursor c = db.rawQuery - выдает ошибку - Программирование Android
Есть таблица с датами, и есть SQL условие для получения даты. Если я в условие указываю дату которая есть в таблице код отрабатывает без...

SQLite. Жутко тормозит Cursor - Программирование Android
Выполняю запрос к бд с большими объемами данных, связывая левым соединением несколько таблиц. Выяснил, что запрос выполняется быстро, а...


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

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

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