테이블이랑 데이터는 잘 들어왔는데 기본키 인덱스 이런거 다 없다.

 

참고 동영상: https://www.youtube.com/watch?v=UdLRcsJ7-0s

오류내용

This application requires Visual Studio 2013 Redistributable. Please install the Redistributable then run this installer again.


해결책

https://www.microsoft.com/ko-KR/download/details.aspx?id=40784

에서 32bit 로 다운받는다. 64bit는 안된다.


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하면 된다


오류내용

Error:Execution failed for task ':app:processDebugManifest'.

> Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library 


Suggestion: use tools:overrideLibrary="android.support.v4" to force usage



처리결과

build.gradle 파일에서

minSdkVersion 8

-> minSdkVersion 9

로 수정


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

    }

}



+ Recent posts