Articles of android activity

如何决定何时在单独的进程中运行不同的android应用程序组件

我在这里读了下面的陈述 By default, all components of the same application run in the same process and most applications should not change this. However, if one needs to control which process a certain component belongs to, he can do so in the manifest file. The manifest entry for each type of component element—<activity>, <service>, <receiver>, and <provider>—supports […]

包含10个线性布局的viewflipper的最佳做法?

我正在着手一个由viewflipper组成的GUI活动,我想包含10个linearlayout布局。 将所有的布局放在同一个XML资源/布局文件中是可取的吗? 如果没有,是否有一个更有组织的方法来编码一个视图flipper与许多布局? 将同一个文件中的所有内容都带来显着的性能成本?

Activity和Fragment中的自动UIconfiguration更改处理有时会失败

我已经写了很长一段时间的Android应用程序,但现在我面临一个我从来没有想过的问题。 这是关于Activitys和Fragments的android生命周期与configuration更改。 为此,我用这个必要的代码创build了一个小应用程序: public class MainActivity extends FragmentActivity { private final String TAG = "TestFragment"; private TestFragment fragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fm = getSupportFragmentManager(); fragment = (TestFragment) fm.findFragmentByTag(TAG); if (fragment == null) { fragment = new TestFragment(); fm.beginTransaction().add(R.id.fragment_container, fragment, TAG).commit(); } } } 这里是我的TestFragment代码。 请注意,我正在调用setRetainInstance(true); 在onCreate方法中,因此在configuration更改后不会logging片段。 public class TestFragment […]

按下主页button时,活力正在被破坏。

在我的应用程序中,当我按主页button的活动将onDestroy() 。 它假设只调用onPause()方法吧? 为什么这样呢?

如何解决在Android的button问题的双击?

我的应用程序的样机: 问题: 当点击button1时 ,只需调用ActivitySecond的 Intent button1.setOnClickListener(this); public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: Intent intent = new Intent(getApplicationContext(), ActivitySecond.class); startActivity(intent); break; default: break; } } 但是,在双击它打开两次 ActivitySecond。 如何解决它。 请任何解决scheme,然后共享。 谢谢。

Android – dynamic获取当前活动的前景

这里是情况: 在一个线程中,一个事件被触发。 当前的活动需要检索。 然后在该活动上创build一个对话框并显示。 问题:据我search,没有办法检索前台的当前活动。 额外的信息:这需要能够在多个活动中处理。 所以,可以在Activity-A或者B或者C中popup

通过setRetainInstance(true)将上下文传递给Fragment中的ArrayAdapter会导致泄漏?

我有一个ListFragment,将通过ArrayAdapter显示项目列表,我试图处理configuration更改(设备旋转)我觉得传递活动上下文到arrays适配器可能会导致内存泄漏,当循环重新启动活动和ListFragment适配器保留,因为我使用setRetainInstance(true),有人可以告诉我,如果我的理解是真实的? 如果是这样的话,最好的办法是什么。 是的,我不想null我的适配器onDetach并重新使用一次片段视图重新创build。 public class DummyXListFragment extends RoboSherlockListFragment{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (adapter == null) adapter = new DummyItemAdapter(getActivity(), android.R.layout.simple_list_item_1, list); }

意图filter:intent.getData()返回null

我正在编写Android的图像编辑器。 到目前为止,它只有一项活动。 从这个活动中,我可以使用调用图库活动的菜单选项加载图像,并在onActivityResult中处理接收的图像以绘制canvas,以便可以对其进行编辑。 这工作正常。 我现在想要做的就是让这个活动可以从其他地方调用,所以不必从活动内部select一个图像,而只需打开图库,select一张照片并发送到我的应用程序。 但我不知道如何。 在我的清单上,我已经把以下内容放在<activity>标签中: <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> 然后,在我的活动中,正如http://developer.android.com/training/basics/intents/filters.html中所提到的,我把下面的内容放在了onCreate()中: … //after initializing my view and stuff Intent intent =getIntent(); Uri image = intent.getData(); //code to do something with my uri … 当我在手机中安装应用程序,然后打开图库,我可以select一个图像,并使用“发送”菜单,我的应用程序将显示在应用程序列表中,但是当我select它时,我的应用程序打开,但忽略图像。 事实certificate,我从intent.getData()得到的URI是空的,我不明白为什么。 我做错了什么? 我忘了什么吗? 如果您必须知道,我使用随附的CoolIris图库库存Android 2.3。

获取ArrayList <HashMap <String,String >>值

在我的第一个活动中,我有下一个代码: ArrayList<HashMap<String, String>> list_params = new ArrayList<HashMap<String, String>>(); HashMap<String, String> param_aux = new HashMap<String, String>(); param_aux.put("language", Integer.toString(language_spinner.getSelectedItemPosition())); param_aux.put("city", city_edittext.getText().toString()); list_params.add(param_aux); 而在我的第二个活动中,我想获取值,所以我的代码是: ArrayList<HashMap<String, String>> list_params_ = new ArrayList<HashMap<String, String>>(); list_params_= (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("list_params"); System.out.println("…serialized data.."+list_params_); 如果我chech的System.out,价值正确的发送,但我想获得一个特定的值HashMap(例如:城市值)。 …serialized data..[{weekend_midday_check=1, weekend_afternoon_check=0, weekend_morning_check=1, sort_by=0, language=0, weekly_afternoon_check=1, weekly_morning_check=1, weekly_midday_check=1, city=Terrassa}] 我怎样才能得到在第一个活动发送的城市的价值?

我是否需要在清单文件中声明每个活动?

我想创build一个活动,但不必在清单文件中声明它。 这可能吗? 我见过的地方似乎每个活动都必须在清单中声明,但我注意到一些活动,如内置的ChooserActivity,没有在我的清单文件中声明。