액티비티 (activity) 재시작 재호출 재구동

프로그래밍/Android (Java)|2015. 1. 27. 10:55
반응형

현재 Activity 종료후 재호출 방법


finish();

startActivity(new Intent(this, SysdocuActivity.class));


위 소스로 되지 않을경우 아래와 같이 현재 액티비티명을 추가해줍니다.


startActivity(new Intent(SysdocuActivity.this, SysdocuActivity.class));



반응형

댓글()

xml 파일을 이용한 메뉴버튼 구현 (OptionsMenu)

프로그래밍/Android (Java)|2015. 1. 27. 10:55
반응형

MainActivity.java 파일 하나만으로도 메뉴 구현이 가능하지만

여기서는 xml 파일을 이용한 Options Menu를 구현해보도록 하겠습니다.


* 장점 : 구현이 쉬움

* 단점 : 메뉴 > 서브메뉴(다중 체크)를 구현해도 한 개의 Item 클릭시 창이 닫힘



res/menu/activity_main.xml 파일 생성


<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item

        android:id="@+id/setting"

        android:title="SETTING">

        <menu>

            <group android:id="@+id/menu_group" android:enabled="true" android:checkableBehavior="all">

                <item android:id="@+id/popup" android:title="POPUP" />

                <item android:id="@+id/notice" android:title="NOTICE" />

            </group>

        </menu>

    </item>

    <item

        android:id="@+id/clear"

        android:title="CLEAR" />

    <item

        android:id="@+id/exit"

        android:title="EXIT" />

</menu> 


* 아래 옵션을 사용하면 메뉴에 이미지 삽입도 가능합니다.

    android:icon="@drawable/icon_clear"



MainActivity.java 수정


import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.widget.Toast; 



public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}


  // Menu

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}


@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch(item.getItemId()) {

case R.id.popup:

if (item.isChecked()) item.setChecked(false);

else item.setChecked(true);

return true;

case R.id.notice:

if (item.isChecked()) item.setChecked(false);

else item.setChecked(true);

return true;

case R.id.clear:

DBManager GCMclear = new DBManager(this, "sysdocu.db", null, 1);

SQLiteDatabase db = GCMclear.getWritableDatabase();

db.execSQL("delete from message;");

db.close();

finish();

startActivity(new Intent(this, MainActivity.class));

return true; 

case R.id.quit:

finish();

return true;

default:

return super.onOptionsItemSelected(item);

}

}

}


반응형

댓글()

edittext 속성 - 기본값 입력 및 쓰기 금지 설정

프로그래밍/Android (Java)|2015. 1. 27. 10:54
반응형

android:text="sysdocu"    // 기본 입력값

android:editable="false"    // 쓰기(수정) 금지


반응형

댓글()

일반 텍스트 출력 (textview)

프로그래밍/Android (Java)|2015. 1. 27. 10:54
반응형

간단하게 하면 아래와 같습니다.

코드 작성 후에 필요한 layout 에서 sysdocu값 (내용: hahaha)을 가져다 쓰면 됩니다.


String IT = "hahaha";

TextView testView = (TextView)findViewById(R.id.sysdocu);

testView.setText(IT.toString());



SQLite 의 내용을 가져와 출력 하려면 아래와 같이 하면 됩니다.

String sql;

sql = "select * from message";

Cursor cursor;

cursor = db.rawQuery(sql, null);


StringBuffer sb = new StringBuffer();

if (cursor.moveToFirst()) {

do {

sb.append(cursor.getInt(0));

sb.append(" ");

sb.append(cursor.getString(1));

sb.append(" ");

sb.append(cursor.getString(2));

sb.append("\n");

} while (cursor.moveToNext());

}


TextView sysdocu = (TextView)findViewById(R.id.history);

sysdocu.setText(sb.toString());


cursor.close();

db.close(); 



반응형

댓글()

SQLite select 예제

프로그래밍/Android (Java)|2015. 1. 27. 10:54
반응형

package com.labbook.dbhw;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;


public class MainActivity extends Activity {
 SQLiteDatabase db;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);


  // 데이터베이스 파일 생성후 SQLiteDatabase 객체를 리턴하는 메소드

  db = openOrCreateDatabase("ok", MODE_PRIVATE, null);
  // 테이블 생성하고
  String sql = "create table if not exists hwtable(no integer,name text)";
  db.execSQL(sql);
  // 데이터 추가한 후
  sql = "insert into hwtable values(1,'최민식')";
  db.execSQL(sql);
  sql = "insert into hwtable values(2,'조영언')";
  db.execSQL(sql);
  sql = "insert into hwtable values(3,'이상희')";
  db.execSQL(sql);
  sql = "insert into hwtable values(4,'이광표')";
  db.execSQL(sql);
  sql = "insert into hwtable values(5,'이보라')";
  db.execSQL(sql);
  sql = "insert into hwtable values(6,'김현담')";
  db.execSQL(sql);
  // 데이터를 조회한 것임
  sql = "select * from hwtable";
  Cursor cursor = db.rawQuery(sql, null);// cursor는 BOF(Begin Of File)
  StringBuffer sb = new StringBuffer();
  // 첫번째 행으로 이동
  if (cursor.moveToFirst()) {// notes 테이블에 데이터가 존재한다면
   do {// 존재하는 데이터를 모두 조회하기 위해서 반복문
    sb.append(cursor.getInt(0));
    sb.append(cursor.getString(1));
    sb.append("\n");
   } while (cursor.moveToNext());// 다음 행으로 이동
  }

  TextView tv = new TextView(this);// 더이상 데이터가 존재하지 않으면 반복문에서 벗어남
  tv.setText(sb.toString());
  setContentView(tv);// 텍스트 뷰를 엑티비티에 출력할 뷰로 설정


 }

}



[출처] http://cafe.naver.com/changetheworld02/256

반응형

댓글()

SQLite 에 select 방법과 insert 및 update 방법

프로그래밍/Android (Java)|2015. 1. 27. 10:54
반응형

DB.rawQuery 와 DB.execSQL - select 문과 insert, update 문의 실행

1. db.rawQuery(SQL쿼리) - select 문과 같이 결과값을 얻는 경우

Ex)
Cursor cur = db.rawQuery("select * from Table1",null)

2. db.execSQL(SQL쿼리) - insert, upadate 와 같이 결과 값이 없는 경우

Ex)
db.execSQL(updatae table1 set selFlag = "true"

단순한 것 같지만..
이것도 모르면 엄청 헤멘다...


[출처] http://memesong.blogspot.kr/


반응형

댓글()

스마트폰 자신의 핸드폰 번호 가져오기

프로그래밍/Android (Java)|2015. 1. 27. 10:53
반응형

AndroidManifest.xml 파일에 아래 내용 추가


<!-- Read Phone State -->

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 



사용할 파일(.java)에 아래 내용 추가


import android.content.Context;

import android.telephony.TelephonyManager;


// Read Phone Number

public String getPhoneNumber() {

    TelephonyManager mgr = (TelephonyManager)     getSystemService(Context.TELEPHONY_SERVICE);

    String SysdocuPhone = mgr.getLine1Number();

    SysdocuPhone = SysdocuPhone.substring(SysdocuPhone.length()-10,SysdocuPhone.length());

    SysdocuPhone = "0" + SysdocuPhone;

    return mgr.getLine1Number();

} 



반응형

댓글()

다른 Activity 호출하기

프로그래밍/Android (Java)|2015. 1. 27. 10:53
반응형

MainActivity.java 파일을 수정하여

MainActivity 에서 RegisterActivity 를 호출하는 방법


Intent in=new Intent(MainActivity.this, SysdocuActivity.class);

startActivity(in);

finish();


※ 설명

Intent(현재 Activity.this, 대상 Activity.class);


반응형

댓글()

안드로이드 MAIN Activity 변경

프로그래밍/Android (Java)|2015. 1. 27. 10:49
반응형

안드로이드 프로젝트를 생성하여 메인 액티비티를 만들어 (혹은 자동으로 생성된) 개발하게 된다.
작업을 해오다가 별도로 추가한 액티비티를 메인으로 변경하고 싶을 경우가 있다.

이런 경우에는 AndroidManifest.xml 소스를 열어 아래와 같이 수정하자.

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".NewActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>

        </activity>

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

</application>

원래 MainActivity가 메인 액티비티였으나, 후에 추가된 NewActivity를 메인 액티비티로 변경한 모습이다.


<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


를 메인 액티비티가 될 곳으로 옮기는 작업으로 매인 액티비티를 옮길 수 있다.


[출처] 어린왕자와 여우 | 어린왕자 (http://tiger5net.egloos.com/viewer/5838789)

반응형

댓글()

안드로이드 개발 관련 강좌 많은곳 (효과, 기능)

프로그래밍/Android (Java)|2015. 1. 27. 10:45
반응형

Snails Blog | tjdtnsu

http://tjdtnsu.blog.me/120194416292


지탄님의 블로그

http://blog.naver.com/PostList.nhn?blogId=khs7515&from=postList&categoryNo=12


무한프린터

http://tigerwoods.tistory.com/

예제파일까지 다운로드 할수 있음

반응형

댓글()

Windows에 git 설치하기

프로그래밍/Android (Java)|2015. 1. 27. 10:38
반응형

http://blog.outsider.ne.kr/389

반응형

댓글()