Форум программистов, компьютерный форум CyberForum.ru

Файловый менеджер на андроид - Android

Восстановить пароль Регистрация
Другие темы раздела
Android ActionBarSherlock нажатие на submenu item http://www.cyberforum.ru/android-dev/thread924354.html
У меня есть субменю @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu sub = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Меню"); sub.add(0, Menu.FIRST, 1, "Pref"); sub.add(0, Menu.FIRST, 2, "About"); sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
Android Сервер для Android приложения Всем привет! Нужно написать сервер для Android приложения. Сервер служит для регистрации пользователей и совершения некоторых транзакций (обмен небольшим количеством некоторой информации). Нагрузка на сервер будет небольшая, но желательно, сервер с возможностью масштабирования. Самое главное условие - SSL/TLS-соединение. И возник вопрос, как это реализовать? Http/Https - сервер или... http://www.cyberforum.ru/android-dev/thread924295.html
Android POST запрос и ASP.NET страница
Доброго времени суток, нужно отправить пост запрос на страницу, но вот беда, как можно получить __VIEWSTATE и __EVENTVALIDATION? Заранее спасибо!
Android Не освобождаются ресурсы после закрытия Activity
Очередная непонятная проблема. Делаю в активити setContentView() с большим количеством ImageView. В результате когда запускаю новую, а для этой вызываю finish() не вызывается метод finalize() и все ресурсы хранятся в памяти. Как избежать этого
Android Файловый менеджер http://www.cyberforum.ru/android-dev/thread924165.html
здравствуйте,возник вопрос как отображать содержимое папки? например есть папка в которой находятся файлы разных типов,пользователь зашел в неё из приложения,ему отображается содержимое этой папки,кликом по отдельному файлу запускается нужная программа по его отображению как такое реализовывается?
Android Оптимизация приложения. Слишком часто вызывается GC Требуются некоторые разъяснения по работе GC и некоторая помощь в оптимизации. Есть два проблемных места, в обоих очень часто создаются модели JSON. Дело в том что постоянно через WebSocket идет непрерывный поток примерно 10Кб\с. Для каждого сообщения создается JSON, парсится, обрабатывается и когда приходит следующее сообщение старый JSON теряет ссылку и подбирается GC (мне кажется что всё... подробнее

Показать сообщение отдельно
krettt
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 22
17.07.2013, 01:00     Файловый менеджер на андроид
Доброго времени суток всем . Начал работать над реализацией простого файлового мененджера(всего два класса). Проблема в том что, когда я нажимаю на пункт меню , вылетает исключение : (так и не понял в чем проблема)
Java
1
2
3
4
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
        at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
        at java.util.ArrayList.get(ArrayList.java:304)
        at com.FileExplorer.FileSystemAdapter.getView(FileSystemAdapter.java:46)
вот код приложения
Главный класс
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
public class MainActivity extends Activity
{
    FileSystemAdapter adapter;
    ListView lv;
    ArrayList<String> directoryEntries ;
    ArrayList<Boolean> isFolders;
    File currentDirectory ;
    TextView textTitle ;
 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
 
        textTitle = (TextView)findViewById(R.id.textTitle);
        browseTo(Environment.getExternalStorageDirectory());
    }
    private void browseTo(File directory)
    {
        if(directory.isDirectory())
        {
            currentDirectory = directory;
            fill(directory.listFiles());
 
            textTitle.setText(directory.getAbsolutePath());
        }
        else
        {
            Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse("file://" + directory.getAbsolutePath()));
            startActivity(intent);
        }
 
    }
 
    private void fill(File[] files)
    {
        if(files == null)
        {
            Toast.makeText(this,"fill empty argument ",Toast.LENGTH_LONG).show();
            return ;
        }
 
        directoryEntries = new ArrayList<String>();
        isFolders = new ArrayList<Boolean>();
 
        if(currentDirectory.getParent() != null)
            directoryEntries.add("..");
 
        for(File file : files)
        {
            directoryEntries.add(file.getAbsolutePath());
            isFolders.add(file.isDirectory());
        }
        adapter = new FileSystemAdapter(this,directoryEntries,isFolders);
 
        if(lv == null)
            lv = (ListView)findViewById(R.id.listView);
 
        else
            adapter.notifyDataSetChanged();
 
        lv.setAdapter(adapter);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView <?> parent, View view, int position, long id)
            {
                String selectedFileString = directoryEntries.get(position);
                if(selectedFileString.equals(".."))
                    upOneLevel();
                else
                {
                    File clickedFile = new File(selectedFileString);
                    browseTo(clickedFile);
                }
            }
        });
    }
 
    private void upOneLevel()
    {
        if(currentDirectory.getParent() != null)
        {
            browseTo(currentDirectory.getParentFile());
        }
 
    }
}
и еще класс наследник BaseAdapter

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
public class FileSystemAdapter extends BaseAdapter
{
    LayoutInflater inflater;
    ArrayList<String> files;
    ArrayList<Boolean> isFolder;
    Context ctx;
    public FileSystemAdapter(Context ctx ,ArrayList<String> files,ArrayList<Boolean> isFolder)
    {
        this.files = files;
        this.ctx = ctx;
        this.isFolder = isFolder;
        inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
    public int getCount()
    {
        return files.size();
    }
    @Override
    public Object getItem(int position)
    {
        return files.get(position);
    }
    @Override
    public long getItemId(int position)
    {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        View v = inflater.inflate(R.layout.item,parent,false);
        ImageView imageFolder = (ImageView)v.findViewById(R.id.imageFolder);
        if(isFolder.get(position))
            imageFolder.setImageResource(R.drawable.folder);
 
        TextView textItem = (TextView)v.findViewById(R.id.textItem);
        textItem.setText(files.get(position));
        return v;
    }
}
Также есть два layout : textView и ListView ; пункт меню только TextView и ,если это папка, то ImageView
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru