레이블이 #Activity인 게시물을 표시합니다. 모든 게시물 표시
레이블이 #Activity인 게시물을 표시합니다. 모든 게시물 표시

2019년 1월 27일 일요일

(자마린.안드로이드 인텐트, 액티비티 예제)웹페이지 오픈하기, Xamarin.Android Intent, Activiry 실습

(자마린.안드로이드 인텐트, 액티비티 예제)웹페이지 오픈하기, Xamarin.Android Intent, Activiry 실습
Simple Intent Example(웹페이지 오픈하기)
“OpenWebpage“ 라는 이름의 Xamarin.Android 프로젝트 생성
Resource\layout\activity_main 에서 버튼을 하나 올리고 이름은 default로 두자.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="30px"
android:minHeight="30px"
android:text="@string/hello"
/>
</LinearLayout>
Resource\values\strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Go! OracleJava Community</string>
<string name="app_name">OpenWebpage</string>
</resources>
MainActivity.cs 파일에 Button의 클릭 이벤트 코드 작성
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
namespace OpenWebpage
{
[Activity (Label = "OpenWebpage", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.activity_main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button> (Resource.Id.myButton);
button.Click += (sender, e) => {
var uri = Android.Net.Uri.Parse ("http://ojc.asia");
var intent = new Intent (Intent.ActionView, uri);
StartActivity (intent);
};
}
}
}
버튼의 글씨를 원래 입력한대로 소문자로 출력하려면 Button의 Text All Caps 속성의 체크를 풀거나 false로 입력하면 된다.

(자마린.안드로이드)액티비티(Activity) 라이프사이클

(자마린.안드로이드)액티비티(Activity) 라이프사이클
OnCreate : 반드시 구현되어야 하는 콜백 메소드로서 사용자에게 화면을 보여주기 전, 즉 액티비티 생성시 호출된다. 액티비티에 필요한 요소들을 초기화 및 멤버변수로 저장하고, setContentView()를 호출하여 UI 컴포넌트등을 로딩하고, Listener를 바인딩하고, 초기 데이타를 로딩하는 등의 초기화 작업을 한다.( OnCreate() 다음으로는 항상 onStart()가 호출된다. Hello 안드로이드에서 UI를 로딩하기 위해 SetContentView를 호출하고 resource 레이아웃 이름(레이아웃 파일 : activity_main) 을 전달해야 하는데 레이아웃은 Resorce.Layout.activity_main에 위치한다.
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.activity_main);
MainActivity를 시작할 때 activity_main 파일의 내용을 바탕으로 한 뷰가 만들어진다. 레이아웃이름이 Activity 이름과 매칭되는데 activity_main은 MainActivity의 레이아웃이다. 이것은 Android 관점에는 필요한 것은 아니나 더 많은 Activity를 붙이기 시작할때 코드 파일에 매칭되는 레이아웃 파일을 좀더 쉽게 찾기 위한 명명 규칙이다.
일단 레이아웃 파일이 세팅되면 추가된 컨트롤들을 찾을수 있는데 컨트롤 찾기 위해서 먼저 FindViewById 함수에 컨트롤의 Resource ID를 넘겨주면 된다.
EditText phoneNumberText = FindViewById<EditText>(Resource.Id.PhoneNumberText);
Button callButton = FindViewById<Button>(Resource.Id.CallButton)
레이아웃파일에서 컨트롤에 대한 참조를 가지게 되었으므로 사용자 상호작용에 대한 응답을 프로그래밍 할 수 있는 것이다.
OnReStart : 액티비티가 정지되었다가 다시 시작되기 직전에 호출되며 OnRestart() 다음으로는 항상 OnStart()가 호출된다.
OnStart : UI가 화면에 보이기 직전에 호출되며 이 시점에 UI가 로딩 된다고 해도 사용자의 입력을 받을 수 는 없다. 이어서 액티비티가 전면에 나서며 포커스를 받을때 OnResume()이 호출되며, 그렇지 않고 바로 가려지면 OnStop()이 호출된다. 즉 다음으로 OnResume() 또는 OnStop()이 호출된다.
OnResume : Activity가 장치 화면으로 돌아올 때마다 발생해야하는 모든 작업을 수,행 UI 로딩이 끝난후, 사용자 Input (Interaction)이 시작되기 전에 호출된다. 이 함수들이 다 호출되고 나면 애플리케이션은 실행 가능 상태인 “Activity Running” 상태가 되고 UI도 모두 로딩되어 사용자로 부터 입력을 받을 준비도 끝난다. 액티비티가 사용자와 상호작용을 할 수 있는 상태가 되기 직전에 호출된다. 이때 액티비티는 백스택(Backstack)의 최상단에 있고, 사용자는 액티비티에 뭔가를 할 수 있는 상태가 된다. OnResume() 다음으로는 항상 OnPause()가 호출됩니다.
OnPause : 정지화면에서 액티비티가 사라질 때 실행된다. 즉 Activity가 장치 화면을 떠날 때마다 발생해야 하는 모든 작업을 수행한다. 사용자와 액티비티의 거리가 한단계 멀어지는 경우에 호출되는 콜백 메소드, 액티비티가 화면에 보여지고 있는 상태와 완전히 정지되어 화면에서 사라진 상태의 중간 단계라고 볼 수 있다. 이 상태 이후에 액티비티가 종료될 수도 있기 때문에 여기서는 액티비티가 다시 시작되었을 때 유지되어야 하는 값들이 있을 경우 저장하는 일을 한다. 정확한 상태 정의는 “보이기는 하지만 사용자와 Interaction을 할 수 없는 상태” 정도로 정의할 수 있다. 이런 상태가 어떤 상태인가 하면 다이얼로그등과 같은 다른 액티버티가 앞에 떠서 사용자 Interaction을 수행하는 상태이다 그러나 기존의 Activity는 그대로 뒤에 떠 있지만 뒤에 떠 있는 activity 는 사용자 Interaction을 받지 못하는 상태이다. 이 때 사용중인 쓰레드 정리, 데이타 저장등을 수행하거나 또는 포커스를 잃은 화면이기 때문에 애니메이션등을 정지해야 한다. 다시 해당 Activity로 돌아가게 되면 OnResume으로 다시 돌아가서 화면을 다시 호출하게 된다. 화면이 보이지 않는 상태에서 메모리가 부족하게 되면 안드로이드 시스템에 의해서 이 단계에서 자동으로 정지(Killed) 될 수 있다. Killed 된 상태에서 다시 그 화면으로 돌아가게 되면 다시 onCreate로 돌아가서 앱을 처음부터 다시 시작하게 된다.
OnStop : 액티비티가 더이상 사용자에게 보여지지 않을때 호출된다. 보통 액티비티가 종료되는 상황이거나, 다른 액티비티가 resume 상태가 되면서 이전 액티비티를 완전히 가려버리는 상황이다. 이어서 액티비티가 다시 사용자에게 보여지는 상태가 되는 경우 OnRestart()가 호출되고 액티비티가 종료되고, 종료되어 백스택에서도 빠지는 경우 OnDestroy()가 호출된다.
OnDestroy : 액티비티가 메모리에서 소멸될때 호출된다. 생명주기에서 마지막으로 호출되는 콜백 메소드로 finish()가 호출되었거나 시스템이 다른 작업을 위한 메모리를 확보하기 위해 임의로 종료시키는 경우에 호출된다.

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...