package jp.ac.cuc.jimbo.first; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.RatingBar; import android.widget.RatingBar.OnRatingBarChangeListener; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private MyService myservice; private String res; private ServiceConnection msconn = new ServiceConnection(){ @Override public void onServiceConnected(ComponentName componentName, IBinder binder) { myservice = MyService.Stub.asInterface(binder); } @Override public void onServiceDisconnected(ComponentName name) { myservice = null; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bindService(new Intent(MyService.class.getName()), msconn, BIND_AUTO_CREATE); Button btn = (Button)this.findViewById(R.id.button1); btn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // TextView tv = (TextView)findViewById(R.id.textView2); // tv.setText("初めまして。よろしくお願いいたします。"); Intent intent = new Intent(); intent.setClassName("jp.ac.cuc.jimbo.first", "jp.ac.cuc.jimbo.first.SubActivity"); intent.putExtra("message", "MainActivityから移動しました。"); startActivity(intent); } } ); btn.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { drawWidget(); return false; } } ); } @Override protected void onDestroy() { super.onDestroy(); if (myservice != null) { unbindService(msconn); } } public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { drawService(); } return false; } public void drawService() { setContentView(R.layout.service); Button btn = (Button)this.findViewById(R.id.button1); btn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { EditText et1 = (EditText)findViewById(R.id.editText1); EditText et2 = (EditText)findViewById(R.id.editText2); int a = Integer.parseInt(et1.getText().toString()); int b = Integer.parseInt(et2.getText().toString()); try { res = String.valueOf(myservice.area(a, b)); } catch (RemoteException e) { e.printStackTrace(); } TextView tv = (TextView)findViewById(R.id.textView4); tv.setText(res); } } ); } public void drawWidget() { setContentView(R.layout.widget); final Activity activity = this; Toast tst = Toast.makeText(activity, "widgetレイアウトを表示します。", Toast.LENGTH_SHORT); tst.show(); RadioGroup rg = (RadioGroup)this.findViewById(R.id.radioGroup1); rg.setOnCheckedChangeListener( new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton rbtn = (RadioButton)findViewById(checkedId); Toast tst = Toast.makeText(activity, "現在"+rbtn.getText(), Toast.LENGTH_SHORT); tst.show(); } } ); RatingBar rtb = (RatingBar)this.findViewById(R.id.ratingBar1); rtb.setOnRatingBarChangeListener( new OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Toast tst = Toast.makeText(activity, "評価が"+rating+"に変更されました", Toast.LENGTH_SHORT); tst.show(); } } ); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }