{"id":2920,"date":"2015-08-18T19:19:16","date_gmt":"2015-08-18T19:19:16","guid":{"rendered":"http:\/\/www.fandroid.info\/?page_id=2920"},"modified":"2015-11-24T11:17:55","modified_gmt":"2015-11-24T11:17:55","slug":"poluchenie-informatsii-o-fajle-v-android","status":"publish","type":"page","link":"https:\/\/www.fandroid.info\/poluchenie-informatsii-o-fajle-v-android\/","title":{"rendered":"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0444\u0430\u0439\u043b\u0435 \u0432 android"},"content":{"rendered":"
\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0444\u0430\u0439\u043b\u043e\u043c, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u043d\u043e \u0438\u043c\u0435\u0435\u0442 URI \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0444\u0430\u0439\u043b\u0435 \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430. \u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u043e\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b, \u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430.<\/p>\n
\u042d\u0442\u043e\u0442 \u0443\u0440\u043e\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u00a0 \u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e, \u043a\u0430\u043a \u043e\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430 \u043f\u043e \u0435\u0433\u043e URI \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435 \u043a\u043e\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 MIME \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043d\u0443\u043b\u043e URI \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430:<\/p>\n [wpanchor id=»2″]<\/p>\n <\/p>\n \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0431\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u00a0 \u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043d\u043e\u0435, \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439\u00a0Creative Commons Attribution 2.5<\/a>. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439, \u0441\u043c.\u00a0\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430<\/a>.<\/p>\n<\/div>\n<\/div>\nFileProvider<\/a><\/code>\u00a0\u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f MIME-\u0442\u0438\u043f\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0444\u0430\u0439\u043b\u0430.[wpanchor id=»1″]<\/p>\n
\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c MIME-\u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430<\/h2>\n
\nContentResolver.getType()<\/a><\/code>. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 MIME-\u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e,
FileProvider<\/a><\/code>\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 MIME \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430 \u043f\u043e \u0435\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044e.<\/p>\n
...\r\n\u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0* Get the file's content URI from the incoming Intent, then\r\n\u00a0 \u00a0 \u00a0* get the file's MIME type\r\n\u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 Uri returnUri = returnIntent.getData();\r\n\u00a0 \u00a0 String mimeType = getContentResolver().getType(returnUri);\r\n\u00a0 \u00a0 ...\r\n\r\n<\/pre>\n
\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440<\/h2>\n
\nFileProvider<\/a><\/code>\u00a0\u043a\u043b\u0430\u0441\u0441 \u0438\u043c\u0435\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f\u00a0
query()<\/a><\/code>\u00a0\u043c\u0435\u0442\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u043c\u044f \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 URI \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432\u00a0
Cursor<\/a><\/code>. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0432\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u0430:<\/p>\n
\n
DISPLAY_NAME<\/a><\/code><\/dt>\n
String<\/a><\/code>. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0435 \u0436\u0435, \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435
File.getName()<\/a><\/code>.<\/dd>\n
SIZE<\/a><\/code><\/dt>\n
long<\/code>\u00a0\u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0435 \u0436\u0435, \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435
File.length()<\/a><\/code><\/dd>\n<\/dl>\n
DISPLAY_NAME<\/a><\/code>\u00a0\u0438\u00a0
SIZE<\/a><\/code>\u00a0\u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0432\u0441\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u00a0
query()<\/a><\/code>\u00a0\u043a\u00a0
null<\/code>\u00a0, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c URI \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u00a0
DISPLAY_NAME<\/code>\u00a0\u0438\u00a0
SIZE<\/code>\u00a0\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c\u00a0
TextView<\/a><\/code>:<\/p>\n
\u00a0 \u00a0 ...\r\n\u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0* Get the file's content URI from the incoming Intent,\r\n\u00a0 \u00a0 \u00a0* then query the server app to get the file's display name\r\n\u00a0 \u00a0 \u00a0* and size.\r\n\u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 Uri returnUri = returnIntent.getData();\r\n\u00a0 \u00a0 Cursor returnCursor =\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 getContentResolver().query(returnUri, null, null, null, null);\r\n\u00a0 \u00a0 \/*\r\n\u00a0 \u00a0 \u00a0* Get the column indexes of the data in the Cursor,\r\n\u00a0 \u00a0 \u00a0* move to the first row in the Cursor, get the data,\r\n\u00a0 \u00a0 \u00a0* and display it.\r\n\u00a0 \u00a0 \u00a0*\/\r\n\u00a0 \u00a0 int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);\r\n\u00a0 \u00a0 int sizeIndex = returnCursor.getColumnIndex(OpenableColumns.SIZE);\r\n\u00a0 \u00a0 returnCursor.moveToFirst();\r\n\u00a0 \u00a0 TextView nameView = (TextView) findViewById(R.id.filename_text);\r\n\u00a0 \u00a0 TextView sizeView = (TextView) findViewById(R.id.filesize_text);\r\n\u00a0 \u00a0 nameView.setText(returnCursor.getString(nameIndex));\r\n\u00a0 \u00a0 sizeView.setText(Long.toString(returnCursor.getLong(sizeIndex)));\r\n\u00a0 \u00a0 ...<\/pre>\n