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);
	}
}
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 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

C언어 달력 소스코드

Programming/C,CPP,CS 2013. 8. 2. 17:51 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
/*
 * main.c

 *
 *  Created on: 2013. 8. 1.
 *      Author: Administrator
 */
#include 
int monthDay(int year, int month) {
	int result;

	if (month == 1 || month == 3 || month == 

5 || month == 7 || month == 8
			|| month == 10 || 

month == 12) {
		result = 31;
	} else if (month == 4 || month == 6 || 

month == 9 || month == 11) {
		result = 30;
	} else if (month == 2) {
		if (((year % 4 == 0) && (year % 

100 != 0)) || (year % 400 == 0)) {
			result = 29;
		} else {
			result = 28;
		}
	}

	return result;
}
int monthDayName( year, month) {
	int result;
	int dayCount = 0;
	int i, j;
	// 기준점 : 1900년 1월 1일 은 월요일이다.
	// 월요일 : 2

	// 1 : 일요일
	// 2 : 월요일
	// 3 : 화요일
	// 4 : 수요일
	// 5 : 목요일
	// 6 : 금요일
	// 7 : 토요일

	// 1903
	for (j = 1900; j < year; j++) {
		for (i = 1; i < 13; i++) {
			dayCount += 

monthDay(j, i);
		}
	}
	// 2013 3
	// 2013 +1
	// 2013 +2
	for (i = 1; i < month; i++) {
		dayCount += monthDay(year, 

i);
	}

	result = (dayCount + 2) % 7;
	return result;
}
void printTitle(int year, int month) {
	printf("\n       %d 년 %d 월 \n", year, 

month);
	printf("일  월  화  수  목  금  토\n");
}
void printBody(int year, int month) {
	int dayName;
	int i;
	dayName = monthDayName(year, month);
	for (i = 1; i < dayName; i++) {
		printf("    ");
		fflush(stdout);
	}

	for (i = 1; i < monthDay(year, month); 

i++) {
		printf("%2d  ", i);
		fflush(stdout);
		if ((dayName + i - 1) % 7 == 0) {
			printf("\n");
			fflush(stdout);
		}
	}

}
int main() {

	int month;			// 

사용자로부터 입력 받을 값 저장
	int year;			// 사용자로부

터 입력 받을 값 저장
	int totalDay;		// n! 를 구한 

결과값
	int dayName;		// n! 를 구한 

결과값

	printf("일자를 구할 연도를 입력하세요 : ");
	fflush(stdout);
	scanf("%d", &year);
	printf("일자를 구할 달을 입력하세요 : ");
	fflush(stdout);
	scanf("%d", &month);

	totalDay = monthDay(year, month);

	dayName = monthDayName(year, month);

	printf("%d 년 %d 월은 총 %d일 입니다.\n", 

year, month, totalDay);

	switch (dayName) {
	case 1:
		printf("%d 년 %d 월 1일은 일요일 

입니다.\n", year, month);
		break;
	case 2:
		printf("%d 년 %d 월 1일은 월요일 

입니다.\n", year, month);
		break;
	case 3:
		printf("%d 년 %d 월 1일은 화요일 

입니다.\n", year, month);
		break;
	case 4:
		printf("%d 년 %d 월 1일은 수요일 

입니다.\n", year, month);
		break;
	case 5:
		printf("%d 년 %d 월 1일은 목요일 

입니다.\n", year, month);
		break;
	case 6:
		printf("%d 년 %d 월 1일은 금요일 

입니다.\n", year, month);
		break;
	case 0:
		printf("%d 년 %d 월 1일은 토요일 

입니다.\n", year, month);
		break;
	}

	printTitle(year, month);
	printBody(year, month);

	return 0;
}


Could not find .apk

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

Could not find .apk 에러






[Is Library] 를 체크 해제 하면 된다.



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

안드로이드 타자 연습 예제  (0) 2013.08.08
Android 다양한 Layout 사용법  (0) 2013.08.07
앱 시작 액티비티 변경  (0) 2013.05.18
Android SQLite Select Where And &  (0) 2013.05.17
안드로이드 BItmap ImageView Drawable  (0) 2013.05.16