Questions tagged «android-activity»

有关在Android中创建或管理“活动”的问题。在Android应用程序中,活动是提供用户界面的组件,允许用户执行某些操作。简单的例子是:拨打电话,拍照,发送电子邮件或查看地图。

30
如何使用保存实例状态保存活动状态?
我一直在使用Android SDK平台,但尚不清楚如何保存应用程序的状态。因此,对“ Hello,Android”示例进行了一些小的重新设计: package com.android.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { private TextView mTextView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mTextView = new TextView(this); if (savedInstanceState == null) { mTextView.setText("Welcome to HelloAndroid!"); …

30
在Android轮播上重新启动活动
在我的Android应用程序中,当我旋转设备(滑出键盘)时,我Activity将重新启动(onCreate称为)。现在,这大概是应该的样子,但是我在onCreate方法中做了很多初始设置,因此我需要: 将所有初始设置都放在另一个功能中,这样就不会因设备旋转或 使其onCreate不再被调用,布局只是调整或 将应用程序限制为仅纵向,这样onCreate就不会被调用。


10
如何在Android上管理startActivityForResult?
在我的活动中,我通过调用了主要活动中的第二个活动startActivityForResult。在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是只有其中一个返回结果。 例如,从主要活动中,我叫第二个活动。在本活动中,我正在检查手机的某些功能,例如它是否具有摄像头。如果没有,我将关闭此活动。此外,在准备过程中MediaRecorder或MediaPlayer如果发生问题,那么我将关闭此活动。 如果其设备带有摄像头并且录制已完全完成,那么在录制视频后,如果用户单击“完成”按钮,我会将结果(录制的视频的地址)发送回主要活动。 如何检查主要活动的结果?


30
片段中未调用onActivityResult
onActivityResult相机活动返回时,承载此片段的活动将被调用。 我的片段通过为相机发送照片的意图启动了一个结果活动。图片应用程序可以正常加载,拍照并返回。该onActivityResult然而,永远不会打。我已经设置了断点,但是什么也没有触发。碎片可以onActivityResult吗?我想是这样,因为它是提供的功能。为什么不触发此操作? ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image); myImage.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, 1888); } }); @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if( requestCode == 1888 ) { Bitmap photo = (Bitmap) data.getExtras().get("data"); ((ImageView)inflatedView.findViewById(R.id.image)).setImageBitmap(photo); } }


14
困境:何时使用片段与活动:
我知道这Activities是为了代表我的应用程序的一个屏幕,而Fragments设计的它们是设计为可重用的UI布局,其中嵌入了逻辑。 直到不久前,我还开发了一个应用程序,因为它说应该进行开发。我创建了一个Activity来代表我的应用程序的屏幕,并将Fragments用于ViewPager或Google Maps。我很少创建ListFragment可以重复使用多次的UI或其他UI。 最近,我偶然发现了一个仅包含2 Activities个的项目,一个是SettingsActivity,另一个是MainActivity。的布局中MainActivity填充了许多隐藏的全屏UI片段,仅显示了一个。在Activity逻辑上有很多FragmentTransitions上,应用程序的不同屏幕之间。 我喜欢这种方法的原因在于,因为应用程序使用ActionBar,所以它保持不变并且不会随着屏幕切换动画而移动,Activity切换一样。这使这些屏幕过渡更加流畅。 因此,我想我想问的是与您分享有关此主题的当前开发方式,我知道乍一看它看起来像是一个基于意见的问题,但我将其视为一个Android设计和体系结构问题。基于意见的。 UPDATE(2014年5月1日):在此之后呈现由埃里克·伯克从广场,(这是我不得不说是一个有很多的Android开发人员有用的工具,一个伟大的演示和我没有以任何方式广场相关) http://www.infoq.com/presentations/Android-Design/ 根据过去几个月的经验,我发现构建应用程序的最佳方法是创建片段组,以代表应用程序中的流程并将所有这些片段组合在一起Activity。因此,基本上Activities,您的应用程序中的流数将与流数相同。这样,动作栏在所有流程的屏幕上都保持不变,但是在更改流程时会重新创建,这很有意义。正如埃里克·伯克(Eric Burke)所言,以及我已经逐渐意识到的那样,尽可能少使用哲学Activities并不适用于所有情况,因为这在他所谓的“上帝”活动中造成了混乱。

30
如何在Android上将对象从一项活动传递到另一项活动
我正在尝试从一个发送客户类的对象,Activity然后在另一个对象中显示它Activity。 客户类的代码: public class Customer { private String firstName, lastName, Address; int Age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName = lname; Age = age; Address = address; } public String printValues() { String data = null; data = "First Name :" + …




9
示例:使用消息传递在活动和服务之间进行通信
我找不到如何在活动和服务之间发送消息的任何示例,而我花了太多时间弄清楚了这一点。这是一个示例项目,供其他人参考。 此示例使您可以直接启动或停止服务,并分别与该服务绑定/解除绑定。服务运行时,它将以10 Hz的频率递增。如果活动绑定到Service,它将显示当前值。数据以整数和字符串的形式传输,因此您可以看到如何使用两种不同的方式。活动中还有一些按钮可以向服务发送消息(更改增量值)。 屏幕截图: AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.exampleservice" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <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> <service android:name=".MyService"></service> </application> <uses-sdk android:minSdkVersion="8" /> </manifest> res \ values \ strings.xml: <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">ExampleService</string> <string name="service_started">Example Service started</string> …


28
当进度对话框和后台线程处于活动状态时,如何处理屏幕方向变化?
我的程序在后台线程中执行一些网络活动。在开始之前,它会弹出一个进度对话框。该对话框在处理程序上关闭。这一切都很好,除非对话框打开(并且背景线程正在运行)时屏幕方向改变。此时,该应用程序要么崩溃,死锁,要么进入怪异的阶段,直到所有线程被杀死,该应用程序才完全无法运行。 如何优雅地处理屏幕方向变化? 下面的示例代码与我的真实程序大致匹配: public class MyAct extends Activity implements Runnable { public ProgressDialog mProgress; // UI has a button that when pressed calls send public void send() { mProgress = ProgressDialog.show(this, "Please wait", "Please wait", true, true); Thread thread = new Thread(this); thread.start(); } public void run() { Thread.sleep(10000); Message …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.