Adapter가 data를 가져와서 getview() method를 통해 Adapter View형태로 보여준다

Adapter의 종류에는 ArrayAdapter, SimpleAdapter, cursorAdapter가 있다

Adapter View의 종류에는 ListView, GridView, Spinner, Gallery등이 있다

 

activity_main.xml

<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>

MainActivity.java

public class MainActivity extends AppCompatActivity {

ArrayList<String> arrayList = null;
ArrayAdapter<String> adapter = null;
ListView listView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

arrayList = new ArrayList<String>();
arrayList.add("jusung");
arrayList.add("aaaaa");
arrayList.add("bbbbb");
arrayList.add("ccccc");
arrayList.add("ddddd");
arrayList.add("eeeee");
arrayList.add("fffff");
arrayList.add("ggggg");
arrayList.add("hhhhh");
arrayList.add("iiiii");
arrayList.add("jjjjjj");

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList);

listView = findViewById(R.id.listView);
listView.setAdapter(adapter);
//adapter를 통해 화면에 보여준다
}

}

---seperate data---

activity_main.xml

<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

ArrayAdapter<CharSequence> arrayAdapter = null;
ListView listView = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//createFromResource() method를 이용해 resource로부터 adapter를 생성
arrayAdapter = ArrayAdapter.createFromResource(this, R.array.contact, android.R.layout.simple_list_item_checked);
//ctr+space bar를 눌러서 다른 목록을 선택할수있다.
listView = findViewById(R.id.listView); //listView를 가져온다
listView.setAdapter(arrayAdapter);

listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
//listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
//multiple일때 여러개 선택가능하다

//ColorDrawable객체를 이용해 구분선에 색을추가할수있다
ColorDrawable colorDrawable = new ColorDrawable(Color.BLUE);
listView.setDivider(colorDrawable);
listView.setDividerHeight(5);
}

}

data.xml

//res\values\data.xml

<resources>
<string-array name="contact">
<item>fffff 010010010</item>
<item>eeeee 010010010</item>
<item>ddddd 010010010</item>
<item>ccccc 010010010</item>
<item>bbbbb 010010010</item>
<item>aaaaa 010010010</item>
</string-array>
</resources>

---listActivity---

MainActivity.java

public class MainActivity extends ListActivity {
//ListActivity를 상속받는다
ArrayList<String> data = null;
ArrayAdapter<String> adapter = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//ListActivity에 listView가 포함되있다

data = new ArrayList<String>();
data.add("aaaaa");
data.add("bbbbb");
data.add("ccccc");
data.add("ddddd");
data.add("eeeee");
data.add("fffff");
data.add("ggggg");
data.add("hhhhh");
data.add("iiiii");

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

setListAdapter(adapter);
//ListActivity에 setListAdapter method를 이용해 adapter를 추가시킨다
}
}

---listActivity---

MainActivity.java

public class MainActivity extends ListActivity {
//ListActivity를 상속받는다
String[] laughing = {"haha","hoho","hihi","hehe","huhu","hwhw"};
ArrayAdapter<String> adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//ListActivity에 listView가 포함되있다

adapter = new ArrayAdapter<String>(this, R.layout.activity_list_style,
R.id.laugh, laughing);
//직접만든 activity_list_style로 지정한다
//actvity_list_style에 만든 text view의 id값에 data laughing를 입력한다

setListAdapter(adapter);
//ListActivity에 setListAdapter method를 이용해 adapter를 추가시킨다
}
}

activity_list_style.xml

//res\layout에 activity_list_style.xml를 만든다

<ImageView
android:id="@+id/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_foreground"/>
<TextView
android:id="@+id/laugh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:paddingTop="50dp"/>

'android studio' 카테고리의 다른 글

GridView  (0) 2019.08.11
Spinner  (0) 2019.08.10
view에 도형, 텍스트 그리기  (0) 2019.08.10
Button, RadioButton, CheckBox, ImageView, ImageButton  (0) 2019.08.10
text view  (0) 2019.08.09

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
// 주석처리해준다

Custom custom = new Custom(this);
setContentView(custom);
//custom 객체 생성후 불러온다
}

Custom.java


public class Custom extends View {
//View를 상속받는다
private Paint paint;

public Custom(Context context){
super(context);
}//view class에 context호출하는 생성자생성

protected void onDraw(Canvas canvas){
canvas.drawColor(Color.CYAN);
//CYAN color의 도화지생성

paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(3.0F);
//STROKE는 테두리를 나타내고 default값은 FILL이다
paint.setColor(Color.GREEN);
canvas.drawCircle(500, 500, 300, paint);
//x,y 좌표 500에 300 반지름의 green 원이 생긴다

paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.MAGENTA);
canvas.drawCircle(500, 500, 300, paint);
//위에 원과 겹쳐 원에 테두리가 있는것처럼보인다

paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLUE);
paint.setARGB(255,255,0,0);
//a는 0~255사이의값으로 투명도를 나타낸다
canvas.drawRect(10,10,200,200,paint);
//왼쪽 상단과 오른쪽 상단의 좌표를 지정한다

paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(10.0F);
//STROKE로 설정할경우 테두리가그려진다
paint.setColor(Color.BLUE);
paint.setARGB(255,0,255,0);
canvas.drawRect(10,210,200,400,paint);

DashPathEffect dashPathEffect = new DashPathEffect(new float[]{5,5}, 1);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(10.0F);
paint.setPathEffect(dashPathEffect);
//점선을 만든다
paint.setColor(Color.BLUE);
canvas.drawRect(220,210,400,410,paint);

//TEXT
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(100);
canvas.drawText("it is jusung", 300, 900,paint);
}
}

'android studio' 카테고리의 다른 글

Spinner  (0) 2019.08.10
AdapterView(ListView)  (0) 2019.08.10
Button, RadioButton, CheckBox, ImageView, ImageButton  (0) 2019.08.10
text view  (0) 2019.08.09
android layout  (0) 2019.08.07

----Button, RadioButton, CheckBox----

activity_main.xml

<TextView
android:id="@+id/txt01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="pay now"
android:textSize="25sp"
android:layout_margin="10dp"/>
<RadioGroup
android:id="@+id/rGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rBtn01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Card"
android:textSize="25sp"
android:textColor="#33aa88"
android:textStyle="bold"/>
<RadioButton
android:id="@+id/rBtn02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="phone"
android:textSize="25sp"
android:textStyle="bold"
android:textColor="#33aa88"/>
<RadioButton
android:id="@+id/rBtn03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="bank"
android:textSize="25sp"
android:textStyle="bold"
android:textColor="#33aa88"/>
</RadioGroup>
<!--버튼이 하나씩만 작동할수 있게 하려면 RadioGroup으로 묶어줘야한다-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="30dp"
android:gravity="right">
<CheckBox
android:id="@+id/chkBox01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="accept terms"
android:textSize="20sp"
android:layout_marginRight="45dp"/>
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="pay now"
android:textSize="25sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"/>

----imageView----

image file을 res\drawable에 저장후

@drawable/file_name(only lowercase)을 이용해 불러올수있다

activity_main.xml

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/hey"
android:maxWidth="300dp"
android:adjustViewBounds="true"/>
<!--크기 조절을위해선 layout크기를 wrap_content로 해야하고
adjustViewBoudns에 true값을 줘야한다-->
<!--maxHeight 값을 입력안할시 가로비율에맞춰 크기가조정된다=-->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/hey"
android:scaleType="matrix"/>
<!--scaleType을 설정하지 않을경우 사진이 중앙으로
가로, 세로비율이 자동으로 조절되서 오게된다
scaleType="fitXY"로 설정할경우 화면 크기로 image size가 조절된다
fitXY로 설정후 Width와 Height값을통해 사진크기를 조절할수있다-->

----image button---

activity_main.xml

<ImageButton
android:id="@+id/imgBtn"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/button"
android:contentDescription="turn off"
android:layout_gravity="center"/>
<!--src로 img를 불러올경우 border이 생겨서 background로 불러온다-->
<!--contentDescription을통해 button설명글을 추가할수있다-->

 

'android studio' 카테고리의 다른 글

AdapterView(ListView)  (0) 2019.08.10
view에 도형, 텍스트 그리기  (0) 2019.08.10
text view  (0) 2019.08.09
android layout  (0) 2019.08.07
Custom ListView  (0) 2019.08.07

0. database table 작성

1. main.jsp 작성

2. insert.jsp 작성

//request.getParameter를 통해 값을 받아온다

//if문을 이용해 null값과 space값이 입력되지않게 설정

//database와 연동후 sql문을 이용해  data insult 한다

//마지막에 resource를 반납해준다

3. list.jsp 작성

// datbase 연동후 sql select문을 이용해 data를불러온다

// while문을 이용해 불러온 data값을 table에 입력

// resource 반납한다

4. find.jsp 작성

5. delet.jsp 작성

6. result

----text view----

1. activity_main.xml

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textSize="30sp" />
<!--app, res, values, strings.xml에서 text를 따로 관리할수있다
string tag와 name을 이용해 불러올수있다-->
<!--text color는 #AARRGGBB 로 정의할수있다
AA는 투병도로 00은 완전투명 77는 반투명 FF는 완전불투명-->

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textSize="30sp" />
<!--다국어로 이용할경우 resource안에
values-en/strings.xml, values-ko/string.xml 와같이 만든후
단말기 setting으로 각 언어를 불러올수있다-->

<TextView
android:id="@+id/txtView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/marquee"
android:textSize="30sp"
android:singleLine="true"
android:focusable="true"
android:ellipsize="marquee"/>

<!--android:singleLine="true"를 할경우 뒷부분이 ...으로 한줄에 표시된다 -->
<!--android:ellipsize="start, middle, end, marquee"로 뒷부분 ...을 조정가능-->

<!--marquee 속성을 이용하려면 singleline, focusable 값에 true를 설정하고
java코드를 작성해준다. marqueeRepeatLimit="forever"를통해 반복횟수를 조절할수있다-->

<!--android:maxLines="1"을 이용해 표시될 줄을 설정할수있다-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sndroid"
android:textSize="70sp"
android:textStyle="bold|italic"/>
<!--android:typeface="serif, sans, monospace"와 같이 지정할수있고
android:fontFamily="sans-serif"와 같이 글꼴을 지정할수도있다-->
<!--android:textStyle="Normal, Bold, Italic" 과같이 변경할수있다
두가지의 style을 적용할경우 | 를 이용한다-->

</LinearLayout>

 

2. strings.xml

<resources>
<string name="app_name">My Application</string>
<string name="test">test</string>
<string name="marquee">testtesttestsetsetsetstsetsetsetestsetsetestest</string>
</resources>

<!--name을 설정후 TextView를 이용해 사용할수있다-->

 

3. MainActivity.java

TextView textView;

textView = findViewById(R.id.txtView);
textView.setSelected(true);

<!--marquee 옵션이 작동할수있게 한다-->

 

----edit text-----

activity_main.xml

<EditText
android:id="@+id/nameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:inputType="text"
android:hint="put your name"/>
<!--input Type 설정시 키보드가 알맞게 변경된다-->

<!--inputType="number" or "textEmailAddress 가올수있다-->

'android studio' 카테고리의 다른 글

AdapterView(ListView)  (0) 2019.08.10
view에 도형, 텍스트 그리기  (0) 2019.08.10
Button, RadioButton, CheckBox, ImageView, ImageButton  (0) 2019.08.10
android layout  (0) 2019.08.07
Custom ListView  (0) 2019.08.07

fun main(args: Array<String>):Unit {
println("hello jusung")
println(12+13-10) //표현식(Expression)

var result: Int //(선언)
//(정수값을 저장하는 result variable 선언
)
result = 100 //(초기화)
//var result: int = 100(선언과 초기화를 한번에할수있다
)

val a: Int = 5+5+10//val은 final 변수로 값을 변경할수없다
println(a)
val b: Int = 10+10+10
println(b)
result = a+b //result는 variable 변수로 값이 변경될수있다
println(result)

var aa = 10+50 //값이 정수이기때문에 int를 적지않아도 정수로 인식한다
}
//문장뒤에 ;이 필요없다
//class 없에 main 함수 하나만으로도 작동할수있다
//단독 표현식만으로도 작동한다

-------------

fun main(args: Array):Unit{
//산술 연산자(+, -, *, /, %)
val num: Int = 10+20-27
val num2: Int = 200%3 //나눈후 나머지값을 저장
val num3: Double = 7.5/5 + 11.1 //실수와 정수를 계산할시 실수 type이 된다
val num4: Double = num/num2 + 0.3
//정수와 정수를 계산시(3/2) 정수값이 출력되 1.5가 아닌 1값이 나온다
//val num4: Double = num.toDouble()/num2 + 0.3
//val num : Double = 10.0 + 20 -27
//위와같이 정수 type을 실수 type
으로 변경시 실수값으로 정상출력된다

println(num)
println(num2)
println(num3)
println(num4)

// 증감연산자(++,--)
var aa = 10
var bb = 5

println(aa++ + bb) //(후위연산) 계산후 값을 증가시킨다
println(aa)

println(++aa + bb) //(전위연산)값을 증가시킨우 계산을한다

println(--bb) //값을 계산전 minus한다
}

0. download oracle Databse11g Release 2 Express Edition

-cmd창에 sqlplus 입력하고 system account로 login

-유저생성: create user (ID) identified by (PW);

-권한부여: grant connect, reosurce to (ID);

-exit로 나간뒤 sqlplus (ID)/(PW) 로 login 

-create table member( id varchar2(20), pw varchar2(20), name varchar2(20), email varchar2(80));

-insert into member (id, pw, name, email) values('jusung','1234','jusung','jusung@gmail.com');

-select * from member;

-commit; //data가 실제로 반영되도록하기위해

1. C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib

//위 link에서 ojdbc6_g를 복사한다

2. C:\Program Files\Java\jre1.8.0_221\lib\ext

//복사한 ojdbc6_g를 위 link에 붙여넣기한다

 

DB연동 순서

1. JDBC driver loading: Class.forName(oracle.jdbc.driver.OracleDriver);

2. DB 연결 (Connection 객체 생성): DriverManager.getConnection()

3. SQL문 실행(Statement 개게 생성): Connection.createStatement();

Statement 관련 method

-executeQuery() : 쿼리문을 사용할때 결과값이(ResultSet) 생긴다(select).

-executeUpdate() : 테이블의 내용을 수정,삭제,삽입할때 사용(insert,update,delete)

4. DB 열결해제: ResultSet객체로부터 데이터 추출, Resultset Close

 

eclipse에서 New\Dynamic Web Project\jsp file생성

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*"%>
<%
    Connection conn = null;
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@localhost:1521:xe";
    String uid = "semo";
    String upw = "1025";
    Boolean connect = false;
    
    try {
        Class.forName(driver);
        System.out.println("drivier loading success");
        conn = DriverManager.getConnection(url, uid, upw);
        System.out.println("successfuly connected");
        connect = true;
        conn.close();
    } catch (Exception e) {
        connect = false;
        e.printStackTrace();
    }
%>
<%
if(connect==true){%>
    connected
<%}else{ %>
    connetion failed
<%}%>
 

 

 

 

 

 

 

1 activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="50dp"
tools:context=".MainActivity">

<EditText
android:id="@+id/num1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>

<EditText
android:id="@+id/num2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/num1"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>
<Button
android:id="@+id/plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:layout_below="@+id/num2"
android:layout_alignParentLeft="true"/>
<Button
android:id="@+id/minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:layout_below="@+id/num2"
android:layout_toRightOf="@+id/plus"/>
<Button
android:id="@+id/multiply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:layout_below="@+id/plus"
android:layout_alignParentLeft="true"/>
<Button
android:id="@+id/divide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:layout_below="@+id/plus"
android:layout_toRightOf="@+id/multiply"/>
<EditText
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/multiply"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>

 

2. MainActivity.java

package com.example.calculation;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

EditText num1, num2, result;
Button plus, minus, multiply, divide;
double a, b, c=0;
View.OnClickListener cl;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

num1 = (EditText) findViewById(R.id.num1);
num2 = (EditText) findViewById(R.id.num2);
result = (EditText) findViewById(R.id.result);
plus = (Button) findViewById(R.id.plus);
minus = (Button) findViewById(R.id.minus);
multiply = (Button) findViewById(R.id.multiply);
divide = (Button) findViewById(R.id.divide);

cl = new View.OnClickListener(){
public void onClick(View v){
a = Double.parseDouble(num1.getText().toString());
b = Double.parseDouble(num2.getText().toString());

switch (v.getId()){
case R.id.plus:
c=a+b;
break;
case R.id.minus:
c=a-b;
break;
case R.id.multiply:
c=a*b;
break;
case R.id.divide:
c=a/b;
break;
}
result.setText(String.valueOf(c));
}};
plus.setOnClickListener(cl);
minus.setOnClickListener(cl);
multiply.setOnClickListener(cl);
divide.setOnClickListener(cl);
}}

+ Recent posts