혹시.. 출퇴근 할때나 힘든 타이밍에 내가 좋아하는 사람의 얼굴을 본적이 있으신가요?

 

저도 저한테 힘이되는 몇명의 사람들이있습니다

 

사람한테 상처도 많이 받지만

 

사람에게 사랑도 많이 받습니다

 

사랑은 신기한게

 

받을때보다 내가 사랑을 주고싶을때

 

더 행복한것같습니다. 😍

 

그래서 하루에 한번씩은 꼭 그 힘나는 사람의 얼굴을 보고도 싶고

 

제일 힘들것같은 출근길에 그 사람의 얼굴을 보려고

 

'사랑알림'이라는 어플을 개발하였습니다

 

핸드폰에 무슨 어플이 켜있던 어떤 것을 보고있던

 

지정한 시간에 내가 원하는 사진이 똿- 하고 나오는 어플입니다.

 

 

 

* 그사람을 위해서 사진을 올리지는 않았으나 강아지키우는 분들은 강아지사진을 하셔도좋고

힘이나는 사진을 선택하시면됩니다.

 

 

필요하시분은 다운받으셔도됩니당

구지 안받으셔도 되구용 ㅎㅎ

 

https://play.google.com/store/apps/details?id=com.lifeapp.lifenack 

 

사랑알림 - Google Play 앱

원하는 시간에 힘나는 사람의 얼굴을 확인하세요

play.google.com

 

 

 

반응형

안녕하세요 코딩초밥입니다

😀

 


다른 프로젝트랑 비교하면서 작업을 하고싶은데

하나의 프로젝트만 띄울수있어서 고생하고있었는데

알고보니 제가 처음에 그렇게 설정 해놨더라구요 ;;

그래서 안드로이드 스튜디오에서 프로젝트창을 새로 띄우는 설정을 하도록 하겠습니다

 

 

File - setting 으로 들어갑니다

Apperance & Behavior -> System Setting 으로 들어갑니다.

Open project in new window : 프로젝트를 새로운 창에서 열기

Open project in the same window : 같은 창에서 다른 프로젝트 열기

Confirm window to open project in : 프로젝트 열고 확인하기

 

새로운 창을 띄우고 싶다면 Open project in new window 으로 설정하고

open> file 해봅니다.

반응형

안녕하세요 코딩초밥입니다 ㅇㅅㅇ

A 액티비티에서 B 액티비티에게 값을 전달하려고 할때

어떻게 할까요? 실생활에서는 어떤가요? 먼 지역에 물건을 보낼 때 어떻게 하세요?

택배를 보내시지요? 안드로이드도 그런 계념의 택배가 있고 택배 기사님이 계십니다

바로 INTENT 아저씨입니다.

 


INTENT를 사용하는 것 중

안드로이드 앱 개발자라면 무조건 해볼

액티비티 화면전환이 대표적인데요.

 

Intent intent = new Intent ( this , SecondActivity.class ) ;
startActivity(intent)

이렇게 하면 SecondActivty로 넘어갑니다.

화면전환할 뿐 아니라 넘어가는 화면에게 정보도 전달할 수 있습니다.


| 데이터 보낼 때

 

Intent putExtra (String name, int value)

Intent putExtra (String name, String value)

Intent putExtra (String name, boolean value)

() 안에 들어가는 의미는

첫 번째 String name 은 데이터를 전달하는 인텐트 아저씨의 별명입니다

누가 전달하는지 알아야 정확하게 받을 수 있겠죠?

두 번째 int, String, bolean은 그 안에 있는 값입니다.

 

| 데이터 받을 때

 

int getIntExtra (String name, int defaultValue)

String getStringExtra (String name)

boolean getBooleanExtra (String name, bolean defaultValue)

 

intent로 보내고 getExtra로 저장된 값을 꺼내주시기만 하는 겁니다

(intent 아저씨의 별명, 값)

이런 방식 보냈으니 같은 형식으로 받아오기만 하면 됩니다.

반응형

안녕하세요 코딩 초밥입니다 ㅇㅅㅇ

오늘은 database를 이용하는 room에 대해서 알아보도록 하겠습니다

룸은 3개의 주요 Component로 구성된 걸 알아야 합니다

Entity: 데이터 베이스의 보유자로서 데이터베이스 안에 있는 테이블을 표현합니다

Database: 데이터베이스를 의미합니다

DAO(Data Access Object): 데이터베이스에 접근하는 메소드들이 있습니다. 해당 메소드에 대한 SQLite 쿼리는 직접 작성하여야 합니다.

 

 

Entity

데이터 구조를 표현하기 위한 클래스입니다. DBMS에 이용되기 위한 데이터를 위한 클래스입니다.

@Entiry 어노테이션으로 표현되는 클래스

클래스 내에 @PrimaryKey,@Columninfo등의 어노테이션으로 변수 선언

DAO

실세 DBMS를 위해 호출되는 함수를 선언하는 인터페이스나 추상 클래스입니다.

우리는 인터페이스나 추상 클래스만 정의합니다. 인터페이스나 추상 클래스를 구현해

DBMS를 수행하는 코드는 자동으로 만들어집니다.

@DAO 어노테이션으로 선언

@Quert,@Insert,@Delete등의 어노테이션으로 함수선언

 

Database

데이터베이스 이용을 위한 Dao객체 획득 함수를 제공하는 클래스입니다

Dao 획득 함수는 추상 함수로 정의하며 데이터베이스를 이용하기 위해 가장 먼저 호출됩니다.

@Database어노테이션으로 만드는 클래스

추상 클래스로 작성

Entity를 어노테이션 매개변수로 지정.

 

 

순서

*시작전 ROOM dependencies를 추가시켜줍니다

1. 원하는 xml 형식을 만듭니다.
2. 데이터베이스에 넣을 @ Entity의 class를 만듭니다. (getter setter)

3. Enity class에 접근하기 위한 @Dao interface객체를 만듭니다.

4. RoomDatabase 상복받은 Database 객체를 하나 정의를 한다.

 

1. 원하는 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"
    tools:context=".MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="원하는데이타"
        android:id="@+id/ET_TEXT"/>
    <Button
        android:text="추가버튼"
        android:layout_below="@id/ET_TEXT"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn"
        ></Button>
    <TextView
        android:text="보여지는 뷰"
        android:layout_below="@id/btn"
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></TextView>

</RelativeLayout>

2. 데이터베이스에 넣을 @ Entity의 class를 만듭니다. (getter setter)

 

package com.kim9212.myapplication;

import androidx.room.Entity;
import androidx.room.PrimaryKey;

//꼭만들어야함
@Entity
public class todo {

    //아이디를 내가 직접주지않고 알아서 하는 코드
    @PrimaryKey(autoGenerate =  true)
    private int id;
    private String title;

    public todo(String title) {
        this.title = title;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Override
    public String toString() {
        return "todo{" +
                "id=" + id +
                ", title='" + title + '\'' +
                '}';
    }
}

3. Enity class에 접근하기 위한 @Dao interface객체를 만듭니다.

package com.kim9212.myapplication;

import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;

import java.util.List;

@Dao
public interface TodoDao {
    @Query("SELECT * FROM todo")
    List<todo> getAll();

    @Insert
    void insert(todo todo);

    @Update
    void  update(todo todo);
    @Delete
    void delet(todo todo);
}

4.RoomDatabase 상복받은 Database 객체를 하나 정의를 한다.

package com.kim9212.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;

import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private EditText mtodoEditText;
    private TextView mResultTextview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mtodoEditText=findViewById(R.id.todo);
        mResultTextview=findViewById(R.id.textView);

        //데이타베이스 객체 db는 무조건 벡그라운드에서
        //하지않으면 에러가납니다 allowmainthread를 쓰면 공부용으로 괜찮다
        //실무는 벡그라운드에서 한다
        final AppDataBase db= Room.databaseBuilder(this,AppDataBase.class,"todo-db")
                .allowMainThreadQueries().build();

        mResultTextview.setText(db.todoDao().getAll().toString());
        
        findViewById(R.id.add_button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                db.todoDao().delet(new todo(mtodoEditText.getText().toString()));
                mResultTextview.setText(db.todoDao().getAll().toString());
            }
        });

    }
}
반응형

'이과 > JAVA 안드로이드' 카테고리의 다른 글

[안드로이드]ViewPaPer  (0) 2021.04.30
[안드로이드]UI/UX 디자인이란?  (0) 2021.04.27
[안드로이드]Thread2  (0) 2021.04.27
[안드로이드]Thread  (0) 2021.04.26
[안드로이드]CompoundButton 활용  (2) 2021.04.25

+ Recent posts