Mad 23

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Name: Ekambe Ganesh Dattatraya

Roll No. :53

Practical No. : 23

Exercise

Ans 1)

activity_main.xml

<LinearLayout
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”
android:orientation=”vertical”>
<ImageView
android:id=”@+id/imageView”
android:layout_width=”fill_parent”
android:layout_height=”403dp”
android:layout_centerHorizontal=”true
” />
<Button
android:id=”@+id/button”
android:layout_width=”match_parent”
android:layout_height=”73dp”
android:fontFamily=”@font/poppins_medium”
android:text=”Click here to capture image using
camera”/>
</LinearLayout>
MainActivity.java
package com.example.exp23;
import
androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.Intent;
import
android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import
android.widget.Button;
import
android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity
{Button button ;
ImageView
imageView ;
public static final int RequestPermissionCode = 1 ;
@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button =
(Button)findViewById(R.id.button);
imageView =
(ImageView)findViewById(R.id.imageView);
EnableRuntimePermission();
button.setOnClickListener(new
View.OnClickListener()
{ @Override
public void onClick(View view)
{Intent intent = new
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 7);
}
});

protected void onActivityResult(int requestCode, int resultCode, Intent data)


{super.onActivityResult(requestCode, resultCode,
data); if (requestCode == 7 && resultCode ==
RESULT_OK)
{Bitmap bitmap = (Bitmap) data.getExtras().get(“data”);
imageView.setImageBitmap(bitmap);
}
}

if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,Manif
est.permission.CAMERA))

Toast.makeText(MainActivity.this,”CAMERA permission allows us to Access CAMERA app”,


Toast.LENGTH_LONG).show();

} else {

ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.CAMERA},
RequestPermissionCode);

@Override

public void onRequestPermissionsResult(int RC, String per[], int[] PResult)

{switch (RC) {

case RequestPermissionCode:

if (PResult.length > 0 && PResult[0] == PackageManager.PERMISSION_GRANTED) {

Toast.makeText(MainActivity.this,&quot;Permission Granted, Now your application can access


CAMERA.&quot;, Toast.LENGTH_LONG).show();
} else {

Toast.makeText(MainActivity.this,”Permission Canceled, Now your application cannot access CAMERA.”,


Toast.LENGTH_LONG).show();

break;

AndroidManifest.xml
<?xml version=”1.0” encoding=”utf-8”?>

<manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”com.example.exp23”>

<uses-permission android:name=”android.permission.CAMERA” />

<uses-feature android:name=”android.hardware.camera2” android:required=”true”/>

<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/Theme.Exp23”>

<activity android:name=”.MainActivity”>

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER”/>

</intent-filter>

</activity>

<meta-data android:name=”preloaded_fonts”

android:resource=”@array/preloaded_fonts”/>

</application>

</manifest>
Ans 2) activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
xmlns:android="http://schemas.android.com/apk/res/android"
tools:context=".MainActivity"
android:orientation="vertical">
<Button
android:layout_width="250dp"
android:layout_height="wrap_conte
nt" android:text="Capture Video"
android:onClick="captureVideo"
android:layout_gravity="center_horizontal"
android:layout_marginTop="150dp"
/>
<Button
android:layout_width="250dp"
android:layout_height="wrap_conte
nt" android:text="Play Video"
android:onClick="playVideo"
android:layout_gravity="center_horizontal"
android:layout_marginTop="25dp"
/>
</LinearLayout>
MainActivty.java
package com.example.exp23_2;
import
androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import
android.os.Bundle;
import
android.provider.MediaStore;
import android.view.View;
public class MainActivity extends AppCompatActivity
{private static int VIDEO_REQUEST =
101; private Uri videoUri = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void captureVideo(View view) {
Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if(videoIntent.resolveActivity(getPackageManager())!=null)
{ startActivityForResult(videoIntent,VIDEO_REQUEST);
}

public void playVideo(View view) {


Intent playIntent = new Intent(this,VideoPlayActivity.class);
playIntent.putExtra("videoUri", videoUri.toString());
startActivity(playIntent);

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data)

{super.onActivityResult(requestCode, resultCode, data);

if (requestCode == VIDEO_REQUEST && resultCode == RESULT_OK)

{videoUri = data.getData();

activity_play_video.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=".VideoPlayActivity">

<VideoView android:layout_width="match_parent" android:layout_height="match_parent"


android:layout_margin="35dp" android:id="@+id/videoView"

/>

</RelativeLayout> VideoPlayActivity.java package com.example.exp23_2;

import androidx.appcompat.app.AppCompatActivity; import android.net.Uri;

import android.os.Bundle;

import android.widget.VideoView;

public class VideoPlayActivity extends AppCompatActivity


{private VideoView mVideoView; @Override

protected void onCreate(Bundle savedInstanceState)

{super.onCreate(savedInstanceState); setContentView(R.layout.activity_video_play); mVideoView =


findViewById(R.id.videoView);

Uri videoUri = Uri.parse(getIntent().getExtras().getString("videoUri")); mVideoView.setVideoURI(videoUri);

mVideoView.start();

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.exp23_2">

<uses-feature android:name="android.hardware.camera2" android:required="true" />

<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/Theme.Exp23_2">

<activity android:name=".VideoPlayActivity"></activity>

<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>

You might also like