0. 탐색기 숨은 파일 보기 설정

> 보기 > 옵션 > 폴더 및 검색옵션 변경 (윈도우10 기준)

> 보기탭 > 고급설정

> 숨김 파일 및 폴더 > 숨김 파일, 폴더 및 드라이브 표시에 체크

> (옵션) 알려진 파일 형식의 파일 확장명 숨기기는 체크 해제


1. Apache Ant 설치

> https://ant.apache.org/bindownload.cgi 에서 다운로드

> 통상 C:\Program Files 에서 압축해제

> 환경변수 설정

   ANT_HOME = C:\Program Files\apache-ant-1.10.1

   path += %ANT_HOME%\bin


2. Node.js 설치

> https://nodejs.org/ko/ 에서 다운로드

> 케바케겠지만 난 LTS 설치


3. Cordova 설치

> cmd

> npm install -g cordova

> 환경변수 설정

   path += C:\Users\[사용자명]\AppData\Roaming\npm

   path += C:\Users\[사용자명]\AppData\Roaming\npm\node_modules\cordova\bin


4. jQuery Mobile 설치

> 3 커맨드 창에 이어서

> npm install jquery


5. Cordova-jQuery 설치

> 4에 이어서

> npm install cordova-jquery


6. Cordova Project 생성

> 프로젝트가 생성될 위치로 이동후 Shift + 마우스 우클릭해서 콘솔창 열기

> 혹은 cmd 후 프로젝트가 생성될 위치로 능력껏 이동 (cd 절대경로)

> cordova create 프로젝트명


7. jQuery Mobile Template Injection

> 6에 이어서

> cd 프로젝트명

> cordova-jquery

> 원하는 템플릿 선택 (템플릿 참고링크 https://www.npmjs.com/package/cordova-jquery)


8. Cordova Project Platform Add

> 7에 이어서

> cordova platform add android


9. Android Studio Import

> 안드로이드 스튜디오 실행 후 open

> 프로젝트명\platforms\android

> 위의 경로로 OK하면 된다


<LinearLayout

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

    android:orientation="vertical"

    android:gravity="center_horizontal"

    android:layout_width="match_parent"

    android:layout_height="match_parent">


    <RelativeLayout

        android:id="@+id/layout_form"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:layout_marginTop="120dp"

        >


        <TextView

            android:id="@+id/viewText_name"

            android:text="이      름"

            android:textSize="20dp"

            android:layout_width="100dp"

            android:layout_height="34dp"

            android:layout_marginRight="10dp"

            android:gravity="center_horizontal"

            />


        <EditText

            android:id="@+id/text_name"

            android:layout_width="150dp"

            android:layout_height="wrap_content"

            android:layout_toRightOf="@+id/viewText_name"

            android:layout_alignBaseline="@+id/viewText_name"

            android:maxLength="20"

            android:maxLines="1"

            android:inputType="text|textCapWords"

            />


        <TextView

            android:id="@+id/viewText_age"

            android:text="나      이"

            android:textSize="20dp"

            android:layout_width="100dp"

            android:layout_height="34dp"

            android:layout_marginRight="10dp"

            android:layout_below="@id/viewText_name"

            android:gravity="center_horizontal"

            />


        <EditText

            android:id="@+id/text_age"

            android:layout_width="150dp"

            android:layout_height="wrap_content"

            android:layout_toRightOf="@+id/viewText_age"

            android:layout_alignBaseline="@+id/viewText_age"

            android:maxLength="3"

            android:maxLines="1"

            android:inputType="number"

            />


        <TextView

            android:id="@+id/viewText_birthday"

            android:text="생년월일"

            android:layout_width="100dp"

            android:layout_height="34dp"

            android:layout_marginRight="10dp"

            android:layout_below="@id/viewText_age"

            android:textSize="20dp"

            android:gravity="center_horizontal"

            />

    </RelativeLayout>


    <Button

        android:id="@+id/button_birthday"

        android:layout_width="200dp"

        android:layout_height="wrap_content"

        android:onClick="onButtonBirthdayClicked"

        />


    <Button

        android:id="@+id/button_save"

        android:text="저 장"

        android:onClick="onButtonLoginClicked"

        android:layout_width="100dp"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_marginTop="20dp"

        />

</LinearLayout>


public class MainActivity extends AppCompatActivity {

    TextView viewText_name;

    EditText text_name;


    TextView viewText_age;

    EditText text_age;


    TextView viewText_birthday;

    Button button_birthday;


    Button button_save;


    SimpleDateFormat sdf;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        viewText_name = (TextView) findViewById(R.id.viewText_name);

        text_name = (EditText) findViewById(R.id.text_name);

        viewText_age = (TextView) findViewById(R.id.viewText_age);

        text_age = (EditText) findViewById(R.id.text_age);

        viewText_birthday = (TextView) findViewById(R.id.viewText_birthday);

        button_birthday = (Button) findViewById(R.id.button_birthday);

        button_save = (Button) findViewById(R.id.button_save);


        sdf = new SimpleDateFormat("yyyy년 MM월 dd일");

        button_birthday.setText( sdf.format(Calendar.getInstance().getTime()) );

    }



    public void  onButtonBirthdayClicked(View v) {

        Calendar c = Calendar.getInstance();

        String today = button_birthday.getText().toString();

        if(today.length() == 13) {

            try {

                c.setTime(sdf.parse(today));

            } catch (ParseException e) {

            }

        }


        DatePickerDialog datePickerDialog = new DatePickerDialog(

                MainActivity.this,

                android.R.style.Theme_Holo_Light_Dialog_MinWidth,

                new OnDateSetListener() {

                    @Override

                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

                        try {

                            Calendar calendar = Calendar.getInstance();

                            calendar.set(year, monthOfYear, dayOfMonth);

                            button_birthday.setText( sdf.format(calendar.getTime()) );

                        } catch (Exception e) {

                            e.printStackTrace();

                        }

                    }

                },

                c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));


            datePickerDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);

            datePickerDialog.show();

        }



    public void onButtonLoginClicked(View v) {

        Toast toast = Toast.makeText(getBaseContext(),

                "이름 : " + text_name.getText() + ", " +

                "나이 : " + text_age.getText() + ", " +

                "생년월일 : " + button_birthday.getText(),

                Toast.LENGTH_LONG);


        toast.show();

    }

}



activity_main.xml


MainActivity.java


activity_menu.xml


MenuActivity.java


activity_customer_mng.xml, activity_sales_mng.xml, activity_customer_mng.xml


CustomerMngActivity.java


SalesMngActivity.java


ProductMngActivity.java


AndroidManifest.xml




activity_main.xml

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

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    >


    <RelativeLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        >


        <EditText

            android:id="@+id/textUser_ID"

            android:layout_width="150dp"

            android:layout_height="wrap_content"

            android:maxLength="20"

            android:maxLines="1"

            android:layout_marginBottom="10dp"

            android:layout_marginRight="10dp"

            android:hint="아이디"

            />


        <EditText

            android:id="@+id/textPassword"

            android:inputType="textPassword"

            android:layout_width="150dp"

            android:layout_height="wrap_content"

            android:layout_below="@id/textUser_ID"

            android:maxLength="40"

            android:maxLines="1"

            android:hint="비밀번호"

            />


        <Button

            android:id="@+id/buttonLogin"

            android:layout_width="wrap_content"

            android:layout_height="100dp"

            android:layout_alignBaseline="@id/textUser_ID"

            android:layout_toRightOf="@id/textUser_ID"

            android:onClick="onButtonLoginClicked"

            android:text="로그인" />


    </RelativeLayout>

</RelativeLayout>


MainActivity.java

public class MainActivity extends AppCompatActivity {

    public static final int REQUEST_CODE_ANOTHER = 1001;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }


    public void onButtonLoginClicked(View v) {

        Intent intent = new Intent(getBaseContext(), MenuActivity.class);

        startActivityForResult(intent, REQUEST_CODE_ANOTHER);


    }

}


activity_menu.xml

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

android:layout_width="match_parent"

android:layout_height="match_parent"

>


<RelativeLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

>


<Button

android:id="@+id/buttonCustomerMng"

android:layout_width="180dp"

android:layout_height="wrap_content"

android:text="고객 관리"

android:textSize="22dp"

android:layout_marginBottom="10dp"

/>


<Button

android:id="@+id/buttonSalesMng"

android:layout_width="180dp"

android:layout_height="wrap_content"

android:text="매출 관리"

android:textSize="22dp"

android:layout_below="@id/buttonCustomerMng"

android:layout_marginBottom="10dp"

/>


<Button

android:id="@+id/buttonProductMng"

android:layout_width="180dp"

android:layout_height="wrap_content"

android:text="상품 관리"

android:textSize="22dp"

android:layout_below="@id/buttonSalesMng"

/>


</RelativeLayout>


</RelativeLayout>


MenuActivity.java

public class MenuActivity extends Activity {


    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_menu);

    }

 

}


AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

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

    package="net.dev.mission03">


    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"

        android:supportsRtl="true"

        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>


        <activity android:name=".MenuActivity">

        </activity>

    </application>


</manifest>


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

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

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="match_parent">


    <EditText

        android:id="@+id/editTextSMS"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:ems="10"

        android:lines="5"

        android:scrollHorizontally="false"

        android:inputType="textMultiLine"

        android:textSize="43sp"

        android:lineSpacingMultiplier="1.5"

        android:maxLength="40"

        android:letterSpacing="0.1"

        />


    <LinearLayout

        android:orientation="horizontal"

        android:gravity="right"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:textSize="20sp"

        >


        <TextView

            android:id="@+id/textViewCount"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="0"

            android:textColor="#00FFFF"

            />

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="/80 바이트"

            />

    </LinearLayout>


    <LinearLayout

        android:orientation="horizontal"

        android:gravity="center_horizontal"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >


        <Button

            android:id="@+id/buttonSend"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonSendClicked"

            android:text="전송" />

            />


        <Button

            android:id="@+id/buttonClose"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonDownClicked"

            android:text="닫기" />

    </LinearLayout>


</LinearLayout>


public class MainActivity extends AppCompatActivity {

    EditText editTextSMS;

    TextView textViewCount;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        textViewCount = (TextView) findViewById(R.id.textViewCount);

        editTextSMS = (EditText) findViewById(R.id.editTextSMS);

        editTextSMS.addTextChangedListener(new TextWatcher() {

            @Override

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

            }


            @Override

            public void onTextChanged(CharSequence s, int start, int before, int count) {

                textViewCount.setText(Integer.toString(s.toString().length()));

            }


            @Override

            public void afterTextChanged(Editable s) {

            }

        });

    }


    public void onButtonSendClicked(View v) {

        Toast toast = Toast.makeText(this, editTextSMS.getText(), Toast.LENGTH_LONG);

        toast.show();

    }

}


package net.dev.mission01;


import android.content.res.Resources;

import android.graphics.drawable.BitmapDrawable;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.ImageView;

import android.widget.ScrollView;


public class MainActivity extends AppCompatActivity {

    ScrollView scrollView01;

    ScrollView scrollView02;

    ImageView imageView01;

    ImageView imageView02;

    Resources res;

    BitmapDrawable bitmap;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        scrollView01 = (ScrollView) findViewById(R.id.scrollView01);

        scrollView02 = (ScrollView) findViewById(R.id.scrollView02);

        imageView01 = (ImageView) findViewById(R.id.imageView01);

        imageView02 = (ImageView) findViewById(R.id.imageView02);


        scrollView01.setHorizontalScrollBarEnabled(true); // 수평스크롤바 사용기능 설정

        scrollView02.setHorizontalScrollBarEnabled(true); // 수평스크롤바 사용기능 설정


        res = getResources();

        bitmap = (BitmapDrawable) res.getDrawable(R.drawable.tulips);

        int bitmap01Width = bitmap.getIntrinsicWidth();

        int bitmap01Height = bitmap.getIntrinsicHeight();


        imageView01.setImageDrawable(bitmap);

        imageView01.getLayoutParams().width = bitmap01Width;

        imageView01.getLayoutParams().height = bitmap01Height;

    }


    public void onButtonUpClicked(View v) { viewImage(bitmap, imageView01, imageView02); }


    public void onButtonDownClicked(View v) { viewImage(bitmap, imageView02, imageView01); }


    private void viewImage(BitmapDrawable bitmap, ImageView view, ImageView clear) {

        view.setImageDrawable(bitmap);

        view.getLayoutParams().width = bitmap.getIntrinsicWidth();

        view.getLayoutParams().height = bitmap.getIntrinsicHeight();


        clear.setImageResource(0);

    }

}


가운데 정렬

    <LinearLayout

        android:orientation="horizontal"

        android:gravity="center_horizontal"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >


        <Button

            android:id="@+id/button01"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonSendClicked"

            android:text="버튼1" />

            />


        <Button

            android:id="@+id/button02"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="onButtonDownClicked"

            android:text="버튼2" />

    </LinearLayout>


오른쪽 정렬

   <LinearLayout

        android:orientation="horizontal"

        android:gravity="right"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >


        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="텍1"

            android:textColor="#00FFFF"

            />

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="텍2"

            />

    </LinearLayout>


+ Recent posts