我理解三阶段提交是为了解决"两阶段提交"的问题,当在第二阶段协调器和队列同时失败时,不可能知道协调器是否已决定提交消息.
显然,三阶段提交旨在通过添加额外阶段来解决此问题.但是,如果协调员和队列失败,你是否在第三阶段面临完全相同的问题?
我正在尝试编写一个应用程序,您可以在其中键入地址,然后重定向到谷歌地图.(我想这被称为隐含意图)
- 我已经创建了一个启动主要活动的意图,这是我应用中唯一的活动.Main活动包含一些文本,一个editfield和一个按钮.
AndroidManifest.xml中:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.where_do_you_live"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
这是按钮的代码:
public void Button1Click(View view)
{
try
{
addressField=(EditText)findViewById(R.id.address);
String address=addressField.getText().toString();
address=address.replace(' ','+');
Intent geoIntent=new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=" + address));
startActivity(geoIntent);
}
catch(Exception e)
{
TextView tv=(TextView)findViewById(R.id.textView1);
tv.setText(e.toString());
//finding stuff
}
}
Run Code Online (Sandbox Code Playgroud) 我在CalendarView中单击日期时尝试启动新活动,但我的事件似乎没有触发.我已将clickable设置为true并指定了onclick(两者都在xml中)
这是xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:clickable="true"
android:onClick="CalendarClick" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的日历活动代码:
public class CalendarActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calendar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.activity_calendar, menu);
return true;
}
public void CalendarClick(View view)
{
Intent myIntent = new Intent(CalendarActivity.this, MainActivity.class);
CalendarActivity.this.startActivity(myIntent);
}
}
Run Code Online (Sandbox Code Playgroud) android android-intent android-layout android-calendar android-activity