혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

안드로이드, 리스트뷰를 활용한 전화 걸기

간지뽕빨리턴님 2020. 4. 7. 13:39
반응형

안드로이드,스튜디오,리스트뷰,객체,어플,앱,개발,모바일

안드로이드 스튜디오를 활용하여, 전화걸기

과제일시 : 2020-04-07

안드로이드 스튜디오를 활용하여, 리스트뷰를 사용해서 전화를 거는 것입니다.

간단하게 토스트메세지가 출력이되고 다이얼화면으로 이동됩니다.

안드로이드(Android Dev)

먼저, 실행화면입니다, 간단하게 첫번째는 어머니 전화번호를 하였고, 두번째는 그냥 임의의 번호 01012345678을 입력하게 했습니다.

정상적인 작동을 하시는 것을 알 수 있습니다. 그리고 소스 부분입니다.

* MainActivity.java
package com.example.listviewfruit;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    ListView lvfruit;

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

        lvfruit = (ListView)findViewById(R.id.lvfruit);

        String[] values = {"0104567891","01012345678","과일3","과일4","과일5","과일6","과일7","과일8","과일9","과일10","과일11","과일12","과일13","과일14","과일15","과일16","과일17"};
        ArrayAdapter <String> fruitAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,values);
        lvfruit.setAdapter(fruitAdapter);

        lvfruit.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String item = (String) parent.getAdapter().getItem(position);
                Toast.makeText(MainActivity.this,item,Toast.LENGTH_SHORT).show();
                String service = "tel:" + item;
                Uri uri = Uri.parse(service);
                Intent dialIntent = new Intent(Intent.ACTION_DIAL, uri);
                startActivity(dialIntent);
            }
        });

    }
}

* AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.listviewfruit">
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    <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>
    </application>

</manifest>

*activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">

    <ListView

        android:id="@+id/lvfruit"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

 

Androidmanifest.xml에 전화 권환을 입력했습니다

그리고 Activity_main.xml에 ListView를 추가하고, MainActivity에 리스트뷰를 선언해주고 String으로 아이템을 넣어주었습니다. 제가 만든 어플로 아직은 미약한 기능이지만 어머니와 전화를 해보았습니다. 남들이 볼때는 아직 초보적인 수준이지만 신기하고 정상 작동이 되는걸 보니 희열감도 느껴졌습니다.

 

앞으로 Go!