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

Как передать ссылку через Intent - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Просмотреть БД в телефоне http://www.cyberforum.ru/android-dev/thread1441580.html
Здравствуйте, я написал программу с локальной бд и SharedPreferences, как можно просмотреть эти файлы, на телефоне ( не на эмуляторе)? Или какие есть варианты? Или может быть , лучше их просмотреть с помощью adb, как именно это сделать?
Android Возможно ли в данном фрагменте кода получить массив accounts размером больше, чем один Кто знает, возможно ли в данном фрагменте кода получить массив accounts размером больше, чем один? AccountManager accountManager = AccountManager.get(this); Account accounts = accountManager.getAccountsByType("com.google"); http://www.cyberforum.ru/android-dev/thread1441579.html
Нужен пример Action bar Android studio Android
У кого-то есть пример, action bar? 3 кнопки сверху и должно быть на всех екранах, недавно начала роботу с andriod, помогите, плиз
Android 2 xml-файла для виджета - Перерисовать окно виджета по нажатию
Нужно перерисовать окно виджета по нажатию. Причём, в обновлённом окне нужно использовать другой layout. Как реализовать?
Android Просмотр элементов в ListView http://www.cyberforum.ru/android-dev/thread1441440.html
нужно что бы при нажатии на элемент открывалось отдельное окно с более детальной информацией данного элемента
Android Сохранить картинку Всем привет! Как при можно организовать сохранение картинки? Вот допустим при долгом нажатии появляется меню с пунктами удали, редактировать и т.д. и пункт сохранить картинку. Так что бы оно сохраняло в отдельную папку подробнее

Показать сообщение отдельно
Nasdomlan
1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 110
09.05.2015, 19:28  [ТС]     Как передать ссылку через Intent
Хмм,дело вот в чем.Есть main класс,есть parser класс,в main класс,я хочу по клику менять ссылку которую парсит parser класс...
Делать это пытаюсь через такую схему
Тут кнопки прописал...
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"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/vk_group" android:title="@string/vk_group"/>
    <item android:id="@+id/Security" android:title="@string/Security"/>
    <item android:id="@+id/AlertDialog" android:title="@string/about"/>
    <item android:id="@+id/info" android:title="@string/info"/>
    <item android:id="@+id/plans" android:title="@string/plans"/>
    <item android:id="@+id/mThemes" android:title="@string/menu_theme">
        <menu>
        <group 
            android:checkableBehavior="single"
            android:visible="true" 
            android:id="@+id/mThemesGroup">
            <item 
                android:id="@+id/mThemesDefault" android:title="@string/menu_default_name"/>
            <item 
                android:id="@+id/mThemesDark" android:title="@string/menu_dark_name"/>
        </group>
        </menu>
    </item>
</menu>
Так пытаюсь обработать их клик
Java
1
2
3
4
5
6
7
8
9
    public void onClick(View v) {
    switch(v.getId()) { 
    case R.id.info: 
    url = "http://urbanside.ru/info.xml"; 
    break; 
    case R.id.plans: 
    url = "http://urbanside.ru/plans.xml";
    break; 
    }
Сам класс,полный.
Кликните здесь для просмотра всего текста
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
package app.kray.anddev;
 
import java.util.ArrayList;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
//import android.widget.Toast;
 
public class AnddevActivity extends ListActivity {  
 
    public final static String PREFERENCES_NAME = "preferences";
    public final static String PREFERENCES_THEME_ID = "theme";
    public final static int DEFAULT_THEME = R.style.DefaultTheme;
 
    private ArrayList<PostItem> messages;
    private PostAdapter adapter;
    private boolean themeChanged = false;
    private String url;
 
    @SuppressWarnings("unchecked")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(this);
        setContentView(R.layout.main);
        if (!themeChanged) {
            final Object data = getLastNonConfigurationInstance();
            if (data == null) {
                new GetParserResult().execute();
            } else {
                messages = (ArrayList<PostItem>) data;
                adapter = new PostAdapter(AnddevActivity.this,
                        R.layout.post_entry, messages);
                setListAdapter(adapter);
            }
        } else
            themeChanged = false;
    }
  
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Intent postActivity = new Intent(this, PostActivity.class);
        Bundle store = new Bundle();
        store.putString("title", messages.get(position).title);
        store.putString("description", messages.get(position).description);
        store.putString("date", messages.get(position).date);
        store.putString("link", messages.get(position).link);
        store.putString("img", messages.get(position).img);
        store.putString("Security", messages.get(position).Security);
        postActivity.putExtras(store);
        startActivity(postActivity);
    }
    @Override
    public ArrayList<PostItem> onRetainNonConfigurationInstance() {
        return messages;
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main_menu, menu);
        SharedPreferences sPreferences = getSharedPreferences(PREFERENCES_NAME,
                Context.MODE_PRIVATE);
        int themeID = sPreferences.getInt(PREFERENCES_THEME_ID, DEFAULT_THEME);
        switch (themeID) {
        case R.style.DarkTheme:
            menu.findItem(R.id.mThemesDark).setChecked(true);
            break;
        case DEFAULT_THEME:
            menu.findItem(R.id.mThemesDefault).setChecked(true);
            break;
        }
        return true;
    }   
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {     
        case R.id.vk_group:
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.vk.com/nasdomlan"));
            startActivity(browserIntent);
            return true;
 
        /*case R.id.vk_group:
            Toast.makeText(this, "Nasdomlan Urban3p Group", Toast.LENGTH_SHORT).show(); */
        case R.id.AlertDialog:
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(" ")
                    .setMessage("Наша группа занимается урбан туризмом. И мы рады любым новым лицам. Обещаем позитивный настрой и отдых.")
                    .setIcon(R.drawable.splash)
                    .setCancelable(false)
                    .setNegativeButton("Закрыть",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();
                                }
                            });
            AlertDialog alert = builder.create();
            alert.show();
            return true;
        case R.id.Security:
            AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
            builder2.setTitle("Уровни охраны")
                    .setMessage("У1: Нет охраны\nУ2: Минимум охраны\nУ3: Обходы\nУ4: Стабильные обходы")
                    .setCancelable(false)
                    .setNegativeButton("Закрыть",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();
                                }
                            });
            AlertDialog alert2 = builder2.create();
            alert2.show();
            return true;    
        case R.id.mThemesDefault:
            if (item.isChecked())
                item.setChecked(false);
            else {
                item.setChecked(true);
                getApplication().setTheme(DEFAULT_THEME);
                savePreferences(DEFAULT_THEME);
                themeChanged = true;
                onStop();
                onCreate(null);
            }
            return true;
        case R.id.mThemesDark:
            if (item.isChecked())
                item.setChecked(false);
            else {
                item.setChecked(true);
                getApplication().setTheme(R.style.DarkTheme);
                savePreferences(R.style.DarkTheme);
                themeChanged = true;
                onStop();
                onCreate(null);
            }
            
        default:
            return super.onOptionsItemSelected(item);
        }
    }
    public void onClick(View v) {
    switch(v.getId()) { 
    case R.id.info: 
    url = "http://urbanside.ru/info.xml"; 
    break; 
    case R.id.plans: 
    url = "http://urbanside.ru/plans.xml";
    break; 
    } 
    
     }
    private class GetParserResult extends
            AsyncTask<Context, Integer, ArrayList<PostItem>> {
        private ProgressDialog loadingDialog;
        private NewParser parser;
 
        @Override
        protected void onPreExecute() {
 
            parser = new NewParser();
            loadingDialog = ProgressDialog.show(AnddevActivity.this, "",
                    getString(R.string.progress_dialog_text), true);
        }
 
        @Override
        protected ArrayList<PostItem> doInBackground(Context... arg0) {
            return parser.parse();
        }
 
        @Override
        protected void onPostExecute(ArrayList<PostItem> result) {
            if (result == null) {
                AlertDialog.Builder builder = new AlertDialog.Builder(
                        AnddevActivity.this);
                builder.setMessage(getString(R.string.alert_dialog_text))
                        .setCancelable(false)
                        .setPositiveButton("Ok",
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog,
                                            int id) {
                                        loadingDialog.dismiss();
                                        dialog.cancel();
                                    }
                                });
                AlertDialog alert = builder.create();
                alert.show();
            } else {
                messages = result;
                adapter = new PostAdapter(AnddevActivity.this,
                        R.layout.post_entry, messages);
                setListAdapter(adapter);
                loadingDialog.dismiss();
            }
        }
    }
 
    private void savePreferences(Integer Theme) {
        SharedPreferences settings = getSharedPreferences(PREFERENCES_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt(PREFERENCES_THEME_ID, Theme);
        editor.commit();
    }
 
    public static void setTheme(Activity activity) {
        SharedPreferences sPreferences = activity.getSharedPreferences(
                PREFERENCES_NAME, Context.MODE_PRIVATE);
        int theme = sPreferences.getInt(PREFERENCES_THEME_ID, DEFAULT_THEME);
        activity.setTheme(theme);
    }
}

А так поймать в парсере
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
package app.kray.anddev;
 
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
 
import android.sax.Element;
import android.sax.EndElementListener;
import android.sax.EndTextElementListener;
import android.sax.RootElement;
import android.util.Xml;
 
 
public class NewParser {
 
 
    public static String url = "http://urbanside.ru/info.xml";
 
    protected InputStream getInputStream() {
        URL feedUrl = null;
        try {
            feedUrl = new URL(url);
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
            feedUrl = null;
        }
        try {
            return feedUrl.openConnection().getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
 
    public ArrayList<PostItem> parse() {
        final PostItem currentPost = new PostItem();
        final ArrayList<PostItem> messages = new ArrayList<PostItem>();
        RootElement root = new RootElement("rss");
        Element channel = root.getChild("channel");
        Element item = channel.getChild("item");
        item.setEndElementListener(new EndElementListener() {
            @Override
            public void end() {
                messages.add(currentPost.copy());
            }
        });
        item.getChild("title").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.title = body;
                    }
                });
        item.getChild("link").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.link = body;
                    }
                });
        item.getChild("description").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.description = body;
                    }
                });
        item.getChild("pubDate").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.setDate(body);
                    }
                });
        item.getChild("img").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.img = body;
                    }
                });
        item.getChild("Security").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.Security = body;
                    }
                });
        item.getChild("Condition").setEndTextElementListener(
                new EndTextElementListener() {
                    @Override
                    public void end(String body) {
                        currentPost.Condition = body;
                    }
                });
        try {
            Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8,
                    root.getContentHandler());
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
        return messages;
    }
}
Знаю что 1000% что код не верный,вот прошу помощи как заставить его работать?
И как можно сделать кнопки,и их обработку в таком виде
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
    <item android:id="@+id/mThemes" android:title="@string/menu_theme">
        <menu>
        <group 
            android:checkableBehavior="single"
            android:visible="true" 
            android:id="@+id/mThemesGroup">
            <item 
                android:id="@+id/mThemesDefault" android:title="@string/menu_default_name"/>
            <item 
                android:id="@+id/mThemesDark" android:title="@string/menu_dark_name"/>
        </group>
        </menu>
    </item>
 
Текущее время: 10:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru