Android Intro 로딩 Activity

Programming/Android 2013. 8. 12. 17:28 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

public class IntroPage extends Activity
{
	private ProgressDialog pDialog;

	Handler myHandler = new Handler();
	Runnable myRunnable = new Runnable()
	{
		// 이미지 뷰를 띄운 후 2초후에 로그인 페이지로 이동
		public void run()
		{
			pDialog.dismiss();
			Intent i = new Intent(IntroPage.this, Main.class);
			startActivity(i);
			overridePendingTransition(R.anim.fade, R.anim.hold);
			finish();
		}
	};

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		// TODO Auto-generated method stub
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		super.onCreate(savedInstanceState);
		setContentView(R.layout.intro);
		pDialog = ProgressDialog.show(this, "", "연결 중....");
		myHandler.postDelayed(myRunnable, 2000);
	}
}

JAVA 실습 과제 , GUI

실습과제 모음 2013. 8. 12. 14:17 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tansanc.tistory;

import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

class MyFrame extends JFrame implements KeyListener
{
	public MyFrame()
	{
		this.setSize(300, 200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setTitle("이벤트 예제");
		JLabel staticText = new JLabel("Hello World");
		add(staticText, BorderLayout.NORTH);
		JTextField inputText = new JTextField("입력창");
		add(inputText, BorderLayout.CENTER);
		JLabel resultText = new JLabel("Hello World");
		add(resultText, BorderLayout.SOUTH);
		
		inputText.addKeyListener(this);
		
		setVisible(true);
	}
	@Override
	public void keyPressed(KeyEvent e)
	{		
	}
	@Override
	public void keyReleased(KeyEvent e)
	{		
	}
	@Override
	public void keyTyped(KeyEvent e)
	{		
	}
}

public class Test
{
	public static void main(String[] args)
	{
		MyFrame t = new MyFrame();
	}
}

'실습과제 모음' 카테고리의 다른 글

JAVA 실습 2013 11 23  (0) 2013.11.23
C 언어 과제 11/23  (0) 2013.11.23
JAVA 실습용  (0) 2013.08.07
JAVA 실습 0801  (0) 2013.08.01
JAVA 실습과제 0303 ~ 0309  (0) 2013.03.03
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tistory.tansanc.Test130805;

import java.util.ArrayList;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.c09_listview);

		// * 데이터 원본 준비
		ArrayList arContactList = new ArrayList();		
		arContactList = getContactList();
		ArrayList arGeneral = new ArrayList();
		for( int i = 0 ; i < arContactList.size() ; i++ )
		{
			arGeneral.add( arContactList.get(i).name );
		}
		// */

		/*
		 * 배열로 준비 String[] arGeneral = {"김유신", "이순신", "강감찬", "을지문덕"}; //
		 */

		// 어댑터 준비
		ArrayAdapter Adapter;
		Adapter = new ArrayAdapter(this,
				android.R.layout.simple_list_item_1, arGeneral);

		// 어댑터 연결
		ListView list = (ListView) findViewById(R.id.list);
		list.setAdapter(Adapter);
	}

	private ArrayList getContactList() {

		Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

		String[] projection = new String[] {

		ContactsContract.CommonDataKinds.Phone.CONTACT_ID, // 연락처 ID -> 사진 정보
															// 가져오는데 사용

				ContactsContract.CommonDataKinds.Phone.NUMBER, // 연락처

				ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME }; // 연락처
																		// 이름.

		String[] selectionArgs = null;

		String sortOrder = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME

		+ " COLLATE LOCALIZED ASC";

		Cursor contactCursor = managedQuery(uri, projection, null,

		selectionArgs, sortOrder);

		ArrayList contactlist = new ArrayList();

		if (contactCursor.moveToFirst()) {

			do {

				String phonenumber = contactCursor.getString(1).replaceAll("-",

				"");

				if (phonenumber.length() == 10) {

					phonenumber = phonenumber.substring(0, 3) + "-"

					+ phonenumber.substring(3, 6) + "-"

					+ phonenumber.substring(6);

				} else if (phonenumber.length() > 8) {

					phonenumber = phonenumber.substring(0, 3) + "-"

					+ phonenumber.substring(3, 7) + "-"

					+ phonenumber.substring(7);

				}

				Contact acontact = new Contact();

				acontact.setPhotoid(contactCursor.getLong(0));

				acontact.setPhonenum(phonenumber);

				acontact.setName(contactCursor.getString(2));

				contactlist.add(acontact);

			} while (contactCursor.moveToNext());

		}

		return contactlist;

	}

	public class Contact {
		long photoid;
		String phonenum;
		String name;
		
		public long getPhotoid() {
			return photoid;
		}
		public void setPhotoid(long photoid) {
			this.photoid = photoid;
		}
		public String getPhonenum() {
			return phonenum;
		}
		public void setPhonenum(String phonenum) {
			this.phonenum = phonenum;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		
		
	}


}

Layout XML

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ListView
 android:id="@+id/list" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
 />
</LinearLayout>

 

Manifest 추가

 

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

'Programming > Android' 카테고리의 다른 글

Android 라디오 mms 주소로 듣기  (1) 2013.08.16
Android Intro 로딩 Activity  (0) 2013.08.12
안드로이드 타자 연습 예제  (0) 2013.08.08
Android 다양한 Layout 사용법  (0) 2013.08.07
Could not find .apk  (0) 2013.05.24

안드로이드 타자 연습 예제

Programming/Android 2013. 8. 8. 18:33 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tistory.tansanc.Test130805;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;

// 액티비티 : 게임 뷰를 담는 껍데기.
public class MainActivity extends Activity {

	TextView tv1;
	TextView tv2;
	EditText mEdit;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.c07_contextmenu);
		mEdit = (EditText) findViewById(R.id.editText1);
		tv2 = (TextView) findViewById(R.id.textView2);
		tv1 = (TextView) findViewById(R.id.textView1);

		mEdit.addTextChangedListener(mWatcher);
	}

	TextWatcher mWatcher = new TextWatcher() {
		public void afterTextChanged(Editable s) {
		}

		public void beforeTextChanged(CharSequence s, int start, int count,
				int after) {
		}

		public void onTextChanged(CharSequence s, int start, int before,
				int count) {
			
			if (mEdit.getText().toString()
					.equalsIgnoreCase(tv1.getText().toString())) {
				tv2.setText("O");
			} else {
				tv2.setText("X");
			}
		}
	};
}

Layout

 

<?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" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="50sp"
        android:gravity="center"
        android:textSize="40sp"
        android:text="Hello" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:textSize="40sp"
        android:layout_height="50sp"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="50sp"
        android:gravity="center"
        android:textSize="40sp"
        android:text="X" />
</LinearLayout>

'Programming > Android' 카테고리의 다른 글

Android Intro 로딩 Activity  (0) 2013.08.12
Android 전화번호부 목록 ListView에 띄우기  (0) 2013.08.09
Android 다양한 Layout 사용법  (0) 2013.08.07
Could not find .apk  (0) 2013.05.24
앱 시작 액티비티 변경  (0) 2013.05.18

Android 다양한 Layout 사용법

Programming/Android 2013. 8. 7. 15:56 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tistory.tansanc.Test130805;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends Activity {
	Vibrator mVib;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

        LinearLayout linear = new LinearLayout(this);
        linear.setOrientation(LinearLayout.VERTICAL);
        linear.setBackgroundColor(Color.LTGRAY);
        
		
		Button button = new Button(this);
		button.setText("Test Button");
		linear.addView(button);

        LinearLayout ll1 = (LinearLayout)View.inflate(this, R.layout.testlayout, null);
		linear.addView(ll1);
		
		MyView view = new MyView(this);
		linear.addView(view);
		
		setContentView(linear);
	}

	protected void onDestroy() {
		super.onDestroy();
		mVib.cancel();
	}
}

class MyView extends View {
	public MyView(Context context) {
		super(context);
	}
	public void onDraw(Canvas canvas) {
		Paint pnt = new Paint();
		pnt.setColor(Color.BLUE);
		canvas.drawColor(Color.WHITE);
		canvas.drawCircle(100, 100, 80, pnt);
	}
}

testlayout.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 01" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 02" />

</LinearLayout>

'Programming > Android' 카테고리의 다른 글

Android 전화번호부 목록 ListView에 띄우기  (0) 2013.08.09
안드로이드 타자 연습 예제  (0) 2013.08.08
Could not find .apk  (0) 2013.05.24
앱 시작 액티비티 변경  (0) 2013.05.18
Android SQLite Select Where And &  (0) 2013.05.17

JAVA 실습용

실습과제 모음 2013. 8. 7. 14:04 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

package com.tansanc.tistory;


import java.util.StringTokenizer;


class Store<T>

{

private T[] data = (T[]) new Object[0];


void add(T o)

{

if (data.length == 0)

{

data = (T[]) new Object[1];

data[0] = o;

} else

{

T[] temp = data;

data = (T[]) new Object[data.length + 1];

for (int i = 0; i < temp.length; i++)

{

data[i] = temp[i];

}

data[temp.length] = o;

}

}


T get(int i)

{

return data[i];

}

}


public class Test

{

public static void main(String[] args)

{

int a[] =

{ 1, 3, 5, 7 };

int b[] =

{ 2, 3, 5, 6 };


int[] c = merge(a, b);

System.out.println(c.length);

for (int i = 0; i < c.length; i++)

System.out.println(c[i]);


}


private static int[] merge(int[] a, int[] b)

{

int[] temp = new int[a.length + b.length];

for (int i = 0; i < a.length; i++)

{

temp[i] = a[i];

}

for (int i = a.length; i < b.length + a.length; i++)

{

temp[i] = b[i - a.length];

}

// TODO Auto-generated method stub

return temp;

}

}

'실습과제 모음' 카테고리의 다른 글

C 언어 과제 11/23  (0) 2013.11.23
JAVA 실습 과제 , GUI  (0) 2013.08.12
JAVA 실습 0801  (0) 2013.08.01
JAVA 실습과제 0303 ~ 0309  (0) 2013.03.03
실습  (0) 2013.03.02

JAVA Console Token 구현

Programming/JAVA,JSP 2013. 8. 7. 13:37 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
public class Test
{
	public static void main(String[] args)
	{
		String text = "AAA BBB CCC DDD EEE FFF";
		int count = 0;

		for (int i = 0; i < text.length(); i++)
		{
			if (text.charAt(i) == ' ')
			{
				count++;
			} else
			{
			}
		}
		String[] textResult = new String[count + 1];

		int i, j, k;
		for (i = 0; i < text.length(); i++)
		{
			if (text.charAt(i) == ' ')
			{
				textResult[0] = text.substring(0, i);
				break;
			}
		}
		System.out.print(textResult[0]);
		int lastValue =	0;
		for (k = 1; i < text.length(); k++)
		{
			i = i + 1;
			j = i;
			for (; i < text.length(); i++)
			{
				if (text.charAt(i) == ' ')
				{
					System.out.print("\n");
					textResult[k] = text.substring(j, i);
					lastValue = i;
					break;
				}
			}
		}
		textResult[k-1] = text.substring(lastValue+1 , text.length() );		
		for( String s : textResult )
		{
			System.out.println(s);
		}
	}
}
시스템 라이브러리를 활용
public class Test
{
	public static void main(String[] args)
	{
		String text = "AAA BBB CCC DDD EEE FFF";
		
		StringTokenizer st = new StringTokenizer(text, " ");
		
		while(st.hasMoreTokens() )
		{
			System.out.println(st.nextToken());
		}
	}
}
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tansanc.tistory;

class Store
{
	private T[] data = (T[]) new Object[0];

	void add(T o)
	{
		if (data.length == 0)
		{
			data = (T[]) new Object[1];
			data[0] = o;
		} else
		{
			T[] temp = data;
			data = (T[]) new Object[data.length + 1];
			for (int i = 0; i < temp.length; i++)
			{
				data[i] = temp[i];
			}
			data[temp.length] = o;
		}
	}

	T get(int i)
	{
		return data[i];
	}
}

public class Test
{
	public static void main(String[] args)
	{
		Store s = new Store();
		s.add(3);
		s.add(4);
		System.out.println((Integer) s.get(0) + (Integer) s.get(1));
	}
}

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 타자연습 프로그램  (0) 2013.08.13
JAVA Console Token 구현  (0) 2013.08.07
JAVA DRAG 가능한 Component 만들기  (0) 2013.08.03
JAVA Swing 두개의 판넬을 겹치기  (0) 2013.08.03
JAVA JNI  (0) 2013.05.01
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

class DraggableComponent extends JComponent

{

 

    /** If sets <b>TRUE</b> this component is draggable */

    private boolean draggable = true;

    /**

     * 2D Point representing the coordinate where mouse is, relative parent

     * container

     */

    protected Point anchorPoint;

    /** Default mouse cursor for dragging action */

    protected Cursor draggingCursor = Cursor

           .getPredefinedCursor(Cursor.HAND_CURSOR);

    /**

     * If sets <b>TRUE</b> when dragging component, it will be painted over each

     * other (z-Buffer change)

     */

    protected boolean overbearing = false;

 

    public DraggableComponent()

    {

        addDragListeners();

        setOpaque(true);

        setBackground(new Color(240, 240, 240));

    }

 

    /**

     * Add Mouse Motion Listener with drag function

     */

    private void addDragListeners()

    {

        /**

         * This handle is a reference to THIS because in next Mouse Adapter

         * "this" is not allowed

         */

        final DraggableComponent handle = this;

        addMouseMotionListener(new MouseAdapter()

        {

 

           @Override

           public void mouseMoved(MouseEvent e)

           {

               anchorPoint = e.getPoint();

           setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

           }

 

           @Override

           public void mouseDragged(MouseEvent e)

           {

               int anchorX = anchorPoint.x;

               int anchorY = anchorPoint.y;

 

               Point parentOnScreen = getParent().getLocationOnScreen();

               Point mouseOnScreen = e.getLocationOnScreen();

               Point position = new Point(mouseOnScreen.x - parentOnScreen.x

                       - anchorX, mouseOnScreen.y - parentOnScreen.y - anchorY);

               setLocation(position);

 

               // Change Z-Buffer if it is "overbearing"

               if (overbearing)

               {

                   getParent().setComponentZOrder(handle, 0);

                   repaint();

               }

           }

        });

    }

 

    @Override

    protected void paintComponent(Graphics g)

    {

        super.paintComponent(g);

        if (isOpaque())

        {

           g.setColor(getBackground());

           g.fillRect(0, 0, getWidth(), getHeight());

        }

    }

 

    private void removeDragListeners()

    {

        for (MouseMotionListener listener : this.getMouseMotionListeners())

        {

           removeMouseMotionListener(listener);

        }

        setCursor(Cursor.getDefaultCursor());

    }

}


http://www.codeproject.com/Articles/116088/Draggable-Components-in-Java-Swing

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA Console Token 구현  (0) 2013.08.07
JAVA 제네릭을 사용한 Store Class  (0) 2013.08.07
JAVA Swing 두개의 판넬을 겹치기  (0) 2013.08.03
JAVA JNI  (0) 2013.05.01
Eclipse Tips  (0) 2013.04.30
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
import java.awt.*;
import javax.swing.*;

class BgPanel extends JPanel {
    Image bg = new ImageIcon("water.jpg").getImage();
    @Override
    public void paintComponent(Graphics g) {
        g.drawImage(bg, 0, 0, getWidth(), getHeight(), this);
    }
}

class LoginPanel extends JPanel {
    LoginPanel() {
        setOpaque(false);
        setLayout(new FlowLayout());
        add(new JLabel("username: ")); add(new JTextField(10));
        add(new JLabel("password: ")); add(new JPasswordField(10));
    }
}

public class FrameTestBase extends JFrame {
    public static void main(String args[]) {
        JPanel bgPanel = new BgPanel();
        bgPanel.setLayout(new BorderLayout());
        bgPanel.add(new LoginPanel(), BorderLayout.CENTER);

        FrameTestBase t = new FrameTestBase();
        t.setContentPane(bgPanel);
        t.setDefaultCloseOperation(EXIT_ON_CLOSE);
        t.setSize(250, 100);
        t.setVisible(true);
    }
}



http://stackoverflow.com/questions/7092067/adding-a-background-image-to-a-panel-containing-other-components



'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 제네릭을 사용한 Store Class  (0) 2013.08.07
JAVA DRAG 가능한 Component 만들기  (0) 2013.08.03
JAVA JNI  (0) 2013.05.01
Eclipse Tips  (0) 2013.04.30
JAVA MYSQL ANDROID REST 활용  (0) 2013.04.28