Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Картинки в папке телефона

При просмотре содержимого папок телефона на ПК, программа ПК т.е. эксплорер не отображает эскизы фоток и понять что за файл вообще невозможно! цель была рассортировать картинки в разные папки по темам!
Ответ:
Сообщение от winwin22
ПЛАГИАТОРСТВО

плагиаторство - это присваивание чужих мыслей, так как своих нет.
Вопрос: Как указать стандартным галере или фото путь поиска картинок

Всем доброго.
Вот такая загвоздка, в приложении нужно показать картинку которая находится где то на SD карте.
Код
Java
1
2
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
Все отлично работает, показываются что я могу использовать Галерею или Фото. Кликаю на картинке, получаю ее Url, отображаю в своем активити. Только вот маленькая проблема, отображаются все картинки на телефоне. Даже мусор удаленных приложений. Можно ли как то сделать, чтобы картинки отображались из выбранной пользователем папки.
Например так, только этот код не работает.
Java
1
photoPickerIntent.setType("file:///sdcard/image/*");
Хотелось бы использовать стандартные опробованные приложения.
Ответ: Этот код должен по идеи избавить вас от проблемы.
Java
1
2
3
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///Путь к фотографиям"), "*/*");
startActivity(intent);
Добавлено через 8 минут
Вот вам еще один вариант, не знаю подойдет ли вам, но у меня все нормально выводится выбранный объект.

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
public class PikFile extends Activity {
 
 TextView textFile;
 
 private static final int PICKFILE_RESULT_CODE = 1;
 
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
      
       Button buttonPick = (Button)findViewById(R.id.buttonpick);
       textFile = (TextView)findViewById(R.id.textfile);
      
       buttonPick.setOnClickListener(new Button.OnClickListener(){
 
   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
 
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
             intent.setType("file:///sdcard/image/*");
       startActivityForResult(intent,PICKFILE_RESULT_CODE);
    
   }});
   }
 
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  switch(requestCode){
  case PICKFILE_RESULT_CODE:
   if(resultCode==RESULT_OK){
    String FilePath = data.getData().getPath();
    textFile.setText(FilePath);
   }
   break;
   
  }
 }
Вопрос: Копирование папки из Assets

Всем здравствуйте! Я бы хотел узнать как можно скопировать подпапку (например "pictures") находящуюся в папке assets на карту памяти телефона. В подпапке "pictures" находятся несколько картинок.
Есть вариант как копировать один файл, но как целую папку я не знаю...
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 private void copyfile() {
            
            byte[] buffer = new byte[1024];
            OutputStream myOutput = null;
            int length;
         
            InputStream myInput = null;
            try {
                myInput = mycontext.getAssets().open(FILE_NAME);
                // Передаем данные из inputfile в outputfile
                myOutput = new FileOutputStream(FILE_PATH + FILE_NAME);
                while ((length = myInput.read(buffer)) > 0) {
                    myOutput.write(buffer, 0, length);
                }
                myOutput.close();
                myOutput.flush();
                myInput.close();
             
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
Добавлено через 1 час 55 минут
Помогите пожалуйста!..
Ответ: Паблито, я проверил, папка создалась, но если необходимо скопировать эту папку и еще вложенные в нее папки то не копируется, только начальная папка. Наверное нужно каждую папку по отдельности копировать
Вопрос: Перенести Android программу на телефон

Я столкнулся с  проблемой программирования под мобильный телефон, скачал ADT Bundle (Eclispe and ADK) сделал проект My на компьютере запускается. Переношу файл My.apk из папки \Workspace\My\bin на мобильный телефон на карту памяти, запускаю с карты памяти телефона не запускается (кружок зачеркнутый на программе в телефоне). Как сделать что бы программа запускалась в телефоне. В конечном итоге я хочу, что бы у меня был текстовый файл, программа открывала этот текст. файл и выводила в окно мобильного телефона (ну типа программа читать тексты для моб. телефона). Мой мобильный модель Samsung GT S3600I за 2008 год выпуск.

Подскажите, заранее спасибо.
Ответ:
Я столкнулся с  проблемой программирования под мобильный телефон, скачал ADT Bundle (Eclispe and ADK) сделал проект My на компьютере запускается. Переношу файл My.apk из папки \Workspace\My\bin на мобильный телефон на карту памяти, запускаю с карты памяти телефона не запускается (кружок зачеркнутый на программе в телефоне). Как сделать что бы программа запускалась в телефоне. В конечном итоге я хочу, что бы у меня был текстовый файл, программа открывала этот текст. файл и выводила в окно мобильного телефона (ну типа программа читать тексты для моб. телефона). Мой мобильный модель Samsung GT S3600I за 2008 год выпуск.

Подскажите, заранее спасибо.
Вопрос: Ошибка при отладке на телефоне (INSTALL_FAILED_INVALID_APK)

При отладке на телефоне (Sony Xperia Sola) возникает ошибка:
pkg: /data/local/tmp/com.example.tmp
Failure [INSTALL_FAILED_INVALID_APK]
------------------------------------------
С другим телефоном все работает. Судя по всему ошибка не в настройках IDE или adb, а в самом телефоне. Пробовал запускать на другом компьютере и тоже ничего не работало. На эмуляторе все работает.
Вот весь лог:
Waiting for device.
Target device: BX9037HYVM
Uploading file
local path: C:\Android\workspace\start_android\P0201_SimpleAnimation\out\production\P0201_SimpleAnimation\P0201_SimpleAnimation.apk
remote path: /data/local/tmp/com.example.P0201_SimpleAnimation
Installing com.example.P0201_SimpleAnimation
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.P0201_SimpleAnimation"
pkg: /data/local/tmp/com.example.P0201_SimpleAnimation
Failure [INSTALL_FAILED_INVALID_APK]
Ответ: Я перепрошил телефон, и все заработало...
На стаковерфлоу есть много советов по решению, установка версии sdk в манифесте одно из них...
Изменение имени тоже не приносило пользы... Столкнулся я с проблемой пол года назад, для того чтоб быстро проверить приложение ставил его на star a5000 по кабелю, и пол года для того чтобы попробовать приложение на большгем разрешении - компилил апк, заливал на телефон и потом устанавливал с карты...
Накипело и начал ковыряться... Установка версии sdk в приложении результата не дает, изменение версии в build тоже результата не дает, изменение имени приложения тоже не помогло, установка chmod 775 и 777 на папку data\local\tmp и апк который заливается в эту папку при компиляции тоже не дало результата.
Я сдался и перепрошил.
Теперь все работает.
Стояло Андроид: 4.1.2
Сборка: Lenovo A820_S139_130422(27.06.2013 by linerty)

Поставил : 4.4.1 KitKat alpha 1.2

Вот манифест приложения которое не компилировалось на прямую в телефон, и после перепрошивки телефона теперь компилируется нормально:

Код XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.delaysoft.test" >
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
Вопрос: Содержимое ScrollView сохранить картинкой в галерею. Как?

Возможно я просто не знаю как правильно спросить об этом у гугла, чтоб он ответил или идея вообще бредовая.
Имеется:
ScrollView, в котором несколько LinearLayout, с полями ввода и картинками. Скролл на несколько экранов.
В активити производятся расчеты, посчитанные циферки распределяются по картинке. Вот это вот все посчитанное надо сохранить картинкой.
Изначально планировался один экран и сохранение расчета планировалось, как скриншот одного экрана - волне себе вариант. А тут.... даже не знаю куда копать. Направьте, пожалуйста.
Ответ:
Сообщение от Паблито
создавать pdf и вставлять туда в нужном порядке поля с текстом и картинки
уже тоже начала думать в сторону pdf. Но для меня это такой темный лес... но вариантов, видимо, других нет, придется разбираться.

Добавлено через 8 минут
Сообщение от fraley
SQLite
sharedpreferences
в файл xml, txt и т.д. и т.п.
SQLite, sharedpreferences - возможно в дальнейшем, и не просто для просмотра расчетов, а для возможности их коррекции.
txt - не пойдет, там картинки, без картинок смысла нет.
xml - не пойдет из-за картинок и взаимного расположения текста на них.

Наверное стоит добавить, что предполагаемая аудитория 40+ и до ....... . Тёти плохо дружат с компьютером/телефоном/планшетом. Очень. Поэтому вариант: сделал расчет, сохранил в галерею(где галерея в телефоне/планшете они знают) и смотри когда хочешь. Поэтому и заморочилась с картинкой.

Добавлено через 9 часов 6 минут
Паблито, в pdf у меня весь скролл не влезет? надо страничками делать?
Сейчас на скорую руку состряпала вариантик кода. Но сохранилась даже не страничка целиком, а 70% в высоту где-то...

Добавлено через 19 часов 17 минут
Поделюсь рабочим вариантом
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
 
                int yy = scroll.getScrollY()+scroll.getHeight();
                int xx = scroll.getWidth();
 
                PrintAttributes printAttrs = new PrintAttributes.Builder().
                        setColorMode(PrintAttributes.COLOR_MODE_COLOR).
                        setMediaSize(PrintAttributes.MediaSize.NA_LETTER).
                        setMinMargins(PrintAttributes.Margins.NO_MARGINS).
                        build();
                PrintedPdfDocument document = new PrintedPdfDocument(this,printAttrs);
                PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(xx, yy, 1).create();
                PdfDocument.Page page = document.startPage(pageInfo);
                scroll.draw(page.getCanvas());
                document.finishPage(page);
                try {
                    File mFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
                    File imageFile = new File(mFolder,"filename"+ "_"+ System.currentTimeMillis() + ".pdf");
                    if (!mFolder.exists()) {
                        mFolder.mkdirs();
                    }
                    FileOutputStream out = new FileOutputStream(imageFile);
                    document.writeTo(out);
                    document.close();
                    out.close();
                    Toast.makeText(this,"Расчет сохранен", Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    Toast.makeText(this, "При сохранении расчета возникла ошибка", Toast.LENGTH_LONG).show();
                }
Вопрос: Сохранение фото на телефон

Народ, какая то фигня случилась, в общем делаю приложение, программа фоткает в фоне дефолтной камерой. Все вроде бы ок, тестировал на nexus 4, на one plus все хорошо, все сохраняет. Как только пробую на самсунгах, на любом из девайсов самсунга фотки не сохраняются, не могу понять в чем проблема, все права есть все должно быть нормально... посоветуйте что то плиз.

Код для делания фотографии
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
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
private void takePhoto(final Context context) {
        final SurfaceView preview = new SurfaceView(context);
        SurfaceHolder holder = preview.getHolder();
        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 
        holder.addCallback(new SurfaceHolder.Callback() {
            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                showMessage("Surface created");
                Camera camera = null;
 
                try {
                    camera = Camera.open();
                    showMessage("Opened camera");
 
                    try {
                        camera.setPreviewDisplay(holder);
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
 
                    camera.startPreview();
                    showMessage("Started preview");
 
                    camera.takePicture(null, null, new Camera.PictureCallback() {
 
                        @Override
                        public void onPictureTaken(byte[] data, Camera camera) {
                            showMessage("Took picture");
 
                            saveAsImage(data);
                            camera.release();
                        }
                    });
                } catch (Exception e) {
                    if (camera != null)
                        camera.release();
                    throw new RuntimeException(e);
                }
            }
 
            @Override public void surfaceDestroyed(SurfaceHolder holder) {}
            @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
        });
 
        WindowManager wm = (WindowManager)context
                .getSystemService(Context.WINDOW_SERVICE);
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                1, 1,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0,
                PixelFormat.UNKNOWN);
 
        wm.addView(preview, params);
    }


Код сохранения картинки в папку с фотками
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
 private void saveAsImage(byte[] data) {
        try {
            File cameraFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) + "/Camera");
            if(!cameraFile.exists())
                cameraFile.mkdir();
            File outputFile = new File(cameraFile, "/image_" + randomNumber() + ".jpg");
            FileOutputStream jpg = new FileOutputStream(outputFile);
            jpg.write(data);
            jpg.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


Права
Кликните здесь для просмотра всего текста
Код XML
1
2
3
4
 <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera2" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


Может у кого то есть какие то идеи по этому поводу, целый день бьюсь и никак не могу понять почему на всех девайсах кроме самсунга норм, а на самсунгах ничего...
Ответ:
Сообщение от androbro
Цитата Сообщение от dajver Посмотреть сообщение
raw - это колбек который сохраняет картинку, в ней вызывается метод saveAsImage().
а мне казалось что raw эт сырой формат.
вот может в этом и причина что Вы пытаетесь его сохранить как .jpg
как сказал один умный чел никто не знает как будет вести себя java если переменные или методы называть
raw, jpg, public, create, takePicture и т.д.
Вопрос: Подключение телефона Lenovo s90 через usb к пк

Здравствуйте, сразу к проблеме: при подключение телефона Lenovo s90-А (через родной шнур) к пк, телефон не определяет что подключён к пк, телефон просто заряжается. Появилось недавно, раньше всё работало нормально. У друга точно такой же телефон и такая же проблема. Пробовал ставить драйвера на компьютер и даже ставить отладку по usb реакций 0. Думал что сломался шнур, но на другом телефоне всё работает. Так же думал что телефон сломался но при перезагрузке телефона компьютер видит его до тех пор пока не пропадёт загрузочная картинка. Думаю что телефон перестал определять USB после каких то обновлений(сброс настроек делал). Что делать в данной ситуаций, как это исправить?
Ответ: Был сегодня у мастера, с телефоном всё в порядке. Проблема с пк, а точней с виндовс 10. Если ли утилита для виндовс 10 по этот телефон?
Вопрос: Телефон на базе Android попал в недобросовестные руки. Что делать?

Дорогие ребята, извините, что вклиниваюсь в проф.беседы, но вся надежда на вас! Есть основания полагать, что мой смартфон HTC на время попал в недобросовестные руки. Телефон был включен, пароль установлен не был((. 1 час отсутствия - а нервы на пределе. Может и надумываю зря, но ... Есть 2 вопроса. 1. Можно ли как-то проверить, зная дату и время, когда телефон был без присмотра, что на нем просматривали/устанавливали? Сохраняется ли где-то история действий? Как её можно выцепить? Мои дорогие гении, пожалуйста, скажите, что это реально узнать!
2. Если установили программу-шпион, то как её найти. Бесплатные антишпионы показывают, что всё чисто, но везде написано, что подобные программы сложно выловить. Сейчас больше интересует вопрос о присутствии такой проги, нежели об её удалении, чтобы снять или подтвердить опасения. Можно все вернуть к заводским настройкам, но это безопасность на будущее. Но очень важно знать, был ли взлом, чтобы знать, к чему быть готовым. Не могу найти ответа в интернете, SOS!
Ответ:
Сообщение от Knato
Можно ли как-то проверить, зная дату и время, когда телефон был без присмотра, что на нем просматривали/устанавливали?
Логов практически нет! Против вирусов советую "перепрошить". Можно (есть программы) для того чтобы посмотреть даты установок программ - в тотале сортирую по дате и вижу "свежие". Телефоны могли постирать или подправить "ручками". Можно вместе с флешкой сделать копию всех картинок, баз и записей на флешке. Если не рутирован, стандартными средствами ничего более сложного сделать нельзя. А не стандартными... это уже параноя уровня "ЦРУ следит за всеми нами".

А вообще, Вам не на эту ветку форма! Здесь ПРОГРАММИСТЫ! А вам к АДМИНИСТРАТОРАМ надо!
Вопрос: Не могу найти пакет приложения в папке data

Скомпилировал приложение, установил на свой телефон. Хочу проверить работу с файлами, захожу в папку Android->data. Но папки моего приложения там нет. Как решить эту проблему?
Ответ: потому что телефон не рутованый