지금 클립보드 어플을 만들어보고싶어서 제작중입니다..
메인 액티인
src/com.andro/
ClipEXActivity.java
package com.andro;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.ClipboardManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
@SuppressWarnings("deprecation")
public class ClipEXActivity extends Activity implements View.OnClickListener {
private NotificationManager nm = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
((Button) findViewById(R.id.button1)).setOnClickListener(this);
((Button) findViewById(R.id.button2)).setOnClickListener(this);
setLayout();
}
@Override
public void onClick(View v) {
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
String txt = null;
switch (v.getId()) {
case R.id.button1: //
txt = ((EditText) findViewById(R.id.editText1)).getText().toString();
clipboardManager.setText(txt);
break;
case R.id.button2:
txt = clipboardManager.getText().toString();
((TextView) findViewById(R.id.show)).setText(txt);
break;
case R.id.notification:
nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
// PendingIntent를 등록 하고, noti를 클릭시에 어떤 클래스를 호출 할 것인지 등록.
PendingIntent intent = PendingIntent.getActivity(
ClipEXActivity.this, 0,
new Intent(ClipEXActivity.this, NotificationConfirm.class),0);
String ticker = et_Tiker.getText().toString();
String title = et_Title.getText().toString();
String text = et_Message.getText().toString();
// status bar 에 등록될 메시지(Tiker, 아이콘, 그리고 noti가 실행될 시간)
Notification notification =
new Notification(android.R.drawable.btn_star,ticker, System.currentTimeMillis());
//nm.setOngoing(true);
//진행중(ONGOING)에 notification을 추가할때 .FLAG_ONGOING_EVENT
notification.flags = notification.FLAG_ONGOING_EVENT;
// List에 표시될 항목
notification.setLatestEventInfo(ClipEXActivity.this,title, text, intent);
// noti를 클릭 했을 경우 자동으로 noti Icon 제거
//notification.flags = notification.flags | notification.FLAG_AUTO_CANCEL;
// 1234 notification 의 고유아이디
nm.notify(1234, notification);
Toast.makeText(ClipEXActivity.this, "등록",Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
private EditText et_Tiker = null;
private EditText et_Title = null;
private EditText et_Message = null;
private Button btn_Commit = null;
private void setLayout() {
btn_Commit = (Button) findViewById(R.id.notification);
btn_Commit.setOnClickListener(this);
et_Tiker = (EditText) findViewById(R.id.editText1);
et_Title = (EditText) findViewById(R.id.editText1);
et_Message = (EditText) findViewById(R.id.editText1);
}
}
src/com.andro/
NotificationConfirm.java
package com.andro;
import android.app.Activity;
import android.app.NotificationManager;
import android.os.Bundle;
import android.widget.TextView;
public class NotificationConfirm extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("노티피케이션 제거.");
setContentView(tv);
// notification 매니저 생성
NotificationManager nm =
(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
// 등록된 notification 을 제거 한다.
nm.cancel(1234);
}
}
res/layout
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/edit_mclip"
android:layout_width="180sp"
android:layout_height="wrap_content"
android:hint="@string/hint"
android:layout_marginTop="4sp" />
<Button
android:id="@+id/button_msave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save"
android:textSize="13sp" />
<Button
android:id="@+id/button_mcopy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/copy"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
<Button
android:text="@string/tipping"
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:text="@string/notification"
android:id="@+id/notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
맨위의 저장버튼을 누르게되면
양식은 같게
edittext에는 저장버튼 누르기전 쓴 내용을, 표시해주고
save 버튼은 나중에 그줄의 edittext를 수정하게된다면 수정후 저장할수있게 ,
copy 버튼은 위의 양식과 같게 복사 기능을 가지고있는 버튼입니다
이걸 하나만 추가할게아니라 맨위에 메인이 되는 양식을 계속해서 추가해주는걸 해주고싶거든요..
코
혹시몰라 스트링 파일 추가..
string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">클리우드</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="save">저장</string>
<string name="copy">복사하기</string>
<string name="tipping">붙여넣기</string>
<string name="hint">input</string>
<string name="status">노티피케이션 제거</string>
<string name="notification">등록</string>
</resources>