Skip to content

Commit c741de7

Browse files
Merge pull request #261 from bibhanshu12/main
BMI Calculator Application
2 parents 1699a2f + 7b85817 commit c741de7

38 files changed

+868
-64
lines changed

README.md

+2-64
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,2 @@
1-
# Java Projects Collections🔥
2-
3-
<img width="1440" alt="image" src="https://github.com/kishanrajput23/Java-Projects-Collections/assets/70385488/d726ecd1-103b-473e-9b4c-a9c07045614e">
4-
5-
<div align="center">
6-
7-
[![Open Source Love](https://firstcontributions.github.io/open-source-badges/badges/open-source-v1/open-source.svg)](https://github.com/kishanrajput23/Hacktoberfest-2023)
8-
<img src="https://img.shields.io/badge/HacktoberFest-2023-blueviolet" alt="Hacktober Badge"/>
9-
<img src="https://img.shields.io/static/v1?label=%E2%AD%90&message=If%20Useful&style=style=flat&color=BC4E99" alt="Star Badge"/>
10-
<a href="https://github.com/kishanrajput23" ><img src="https://img.shields.io/badge/Contributions-welcome-green.svg?style=flat&logo=github" alt="Contributions" /></a>
11-
12-
</div>
13-
14-
15-
### This repository aims to help code beginners with their first successful pull request and open source contribution. :partying_face:
16-
17-
:star: Feel free to use this project to make your first contribution to an open-source project on GitHub. Practice making your first pull request to a public repository before doing the real thing!
18-
19-
:star: Make sure to grab some cool swags during Hacktoberfest by getting involved in the open-source community.
20-
21-
### This repository is open to all members of the GitHub community. Any member can contribute to this project! :grin:
22-
23-
## What is Hacktoberfest? :thinking:
24-
A month-long celebration from October 1st to October 31st presented by [Digital Ocean](https://hacktoberfest.digitalocean.com/) and [DEV Community](https://dev.to/) collaborated with [GitHub](https://github.com/blog/2433-celebrate-open-source-this-october-with-hacktoberfest) to get people involved in [Open Source](https://github.com/open-source). Create your very first pull request to any public repository on GitHub and contribute to the open-source developer community.
25-
26-
[https://hacktoberfest.digitalocean.com/](https://hacktoberfest.digitalocean.com/)
27-
28-
## Rules :fire:
29-
To qualify for the __official limited edition Hacktoberfest shirt__, you must register [here](https://hacktoberfest.digitalocean.com/) and make four Pull Requests (PRs) between October 1-31, 2022 (in any time zone). PRs can be made to any public repository on GitHub, not only the ones with issues labeled Hacktoberfest. This year, the __first 40,000__ participants who complete Hacktoberfest can elect to receive one of two prizes: a tree planted in their name, or the Hacktoberfest 2022 t-shirt.
30-
31-
## Steps to follow :scroll:
32-
33-
### Tip : Complete this process in GitHub (in your browser)
34-
35-
```mermaid
36-
flowchart LR
37-
Fork[Fork the project]-->branch[Create a New Branch]
38-
branch-->Edit[Edit file]
39-
Edit-->commit[Commit the changes]
40-
commit -->|Finally|creatpr((Create a Pull Request))
41-
42-
```
43-
44-
45-
Star the repository by pressing the topmost-right button to start your wonderful journey.
46-
47-
48-
## Awesome contributors :star_struck:
49-
<a href="https://github.com/kishanrajput23/Java-Projects-Collections/graphs/contributors">
50-
<img src="https://contributors-img.web.app/image?repo=kishanrajput23/Java-Projects-Collections" />
51-
</a>
52-
53-
Made with [contributors-img](https://contributors-img.web.app).
54-
55-
56-
## Help Contributing Guides :crown:
57-
58-
We love to have `articles` and `codes` in different languages and the `betterment` of existing ones.
59-
60-
Please discuss it with us first by creating a new issue.
61-
62-
:tada: :confetti_ball: :smiley: _**Happy Contributing**_ :smiley: :confetti_ball: :tada:
63-
64-
## Author 🙋‍♂️ : [Find Me Here](https://linktr.ee/kishan_rajput23)
1+
# BMI-Calculator-App
2+
This is a simple android app to calculate BMI built using Java.

app/build.gradle

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
plugins {
2+
id 'com.android.application'
3+
}
4+
5+
android {
6+
namespace 'com.bibo.bmicalculator'
7+
compileSdk 33
8+
9+
defaultConfig {
10+
applicationId "com.bibo.bmicalculator"
11+
minSdk 24
12+
targetSdk 33
13+
versionCode 1
14+
versionName "1.0"
15+
16+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
17+
}
18+
19+
buildTypes {
20+
release {
21+
minifyEnabled false
22+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
23+
}
24+
}
25+
compileOptions {
26+
sourceCompatibility JavaVersion.VERSION_1_8
27+
targetCompatibility JavaVersion.VERSION_1_8
28+
}
29+
}
30+
31+
dependencies {
32+
33+
implementation 'androidx.appcompat:appcompat:1.6.1'
34+
implementation 'com.google.android.material:material:1.5.0'
35+
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
36+
testImplementation 'junit:junit:4.13.2'
37+
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
38+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
39+
}

app/proguard-rules.pro

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Add project specific ProGuard rules here.
2+
# You can control the set of applied configuration files using the
3+
# proguardFiles setting in build.gradle.
4+
#
5+
# For more details, see
6+
# http://developer.android.com/guide/developing/tools/proguard.html
7+
8+
# If your project uses WebView with JS, uncomment the following
9+
# and specify the fully qualified class name to the JavaScript interface
10+
# class:
11+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12+
# public *;
13+
#}
14+
15+
# Uncomment this to preserve the line number information for
16+
# debugging stack traces.
17+
#-keepattributes SourceFile,LineNumberTable
18+
19+
# If you keep the line number information, uncomment this to
20+
# hide the original source file name.
21+
#-renamesourcefileattribute SourceFile
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.bibo.bmicalculator;
2+
3+
import android.content.Context;
4+
5+
import androidx.test.platform.app.InstrumentationRegistry;
6+
import androidx.test.ext.junit.runners.AndroidJUnit4;
7+
8+
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
11+
import static org.junit.Assert.*;
12+
13+
/**
14+
* Instrumented test, which will execute on an Android device.
15+
*
16+
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
17+
*/
18+
@RunWith(AndroidJUnit4.class)
19+
public class ExampleInstrumentedTest {
20+
@Test
21+
public void useAppContext() {
22+
// Context of the app under test.
23+
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
24+
assertEquals("com.bibo.bmicalculator", appContext.getPackageName());
25+
}
26+
}

app/src/main/AndroidManifest.xml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools">
4+
5+
<application
6+
android:allowBackup="true"
7+
android:dataExtractionRules="@xml/data_extraction_rules"
8+
android:fullBackupContent="@xml/backup_rules"
9+
android:icon="@mipmap/ic_launcher"
10+
android:label="@string/app_name"
11+
android:roundIcon="@mipmap/ic_launcher_round"
12+
android:supportsRtl="true"
13+
android:theme="@style/Theme.BmiCalculator"
14+
tools:targetApi="31">
15+
<activity
16+
android:name=".MainActivity"
17+
android:exported="true">
18+
<intent-filter>
19+
<action android:name="android.intent.action.MAIN" />
20+
21+
<category android:name="android.intent.category.LAUNCHER" />
22+
</intent-filter>
23+
</activity>
24+
</application>
25+
26+
</manifest>
79.6 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package com.bibo.bmicalculator;
2+
3+
import androidx.appcompat.app.AppCompatActivity;
4+
5+
import android.annotation.SuppressLint;
6+
import android.os.Bundle;
7+
import android.view.View;
8+
import android.widget.Button;
9+
import android.widget.EditText;
10+
import android.widget.LinearLayout;
11+
import android.widget.TextView;
12+
13+
public class MainActivity extends AppCompatActivity {
14+
15+
@SuppressLint({"MissingInflatedId", "SetTextI18n"})
16+
@Override
17+
protected void onCreate(Bundle savedInstanceState) {
18+
super.onCreate(savedInstanceState);
19+
setContentView(R.layout.activity_main);
20+
EditText edtweight, edtage,edtheightft,edtheightIn,edtname;
21+
Button button1;
22+
TextView result;
23+
LinearLayout llmaincolor;
24+
25+
edtweight=findViewById(R.id.edtweight);
26+
// edtage=findViewById(R.id.edtage);
27+
// edtname=findViewById(R.id.edtname);
28+
edtheightft=findViewById(R.id.edtheightft);
29+
edtheightIn=findViewById(R.id.edtheightin);
30+
button1=findViewById(R.id.but1);
31+
llmaincolor=findViewById(R.id.llmain);
32+
result=findViewById(R.id.result);
33+
34+
button1.setOnClickListener(view -> {
35+
int wt=Integer.parseInt(edtweight.getText().toString());
36+
int In=Integer.parseInt(edtheightIn.getText().toString());
37+
int ft=Integer.parseInt(edtheightft.getText().toString());
38+
// String name=edtname.getText().toString();
39+
// int age=Integer.parseInt(edtage.getText().toString());
40+
// double hegFt=ft*12*2.54*0.01;
41+
// double hegIn=In*2.54*0.01;
42+
int totalIn=ft*12+In;
43+
double total_height_meter=totalIn*2.54*0.01;
44+
double res= wt/(total_height_meter*total_height_meter);
45+
if (wt>0 && ft>0 ) {
46+
47+
48+
if (res>25){
49+
result.setText("You are overweight!.");
50+
llmaincolor.setBackgroundColor(getResources().getColor(R.color.llmain));
51+
}else if(res<18){
52+
result.setText("your are underweight!.");
53+
llmaincolor.setBackgroundColor(getResources().getColor(R.color.llmainlessweight));
54+
55+
}else{
56+
result.setText("You are healthy!");
57+
llmaincolor.setBackgroundColor(getResources().getColor(R.color.llmainhealthy));
58+
}
59+
60+
61+
}else{
62+
if (wt<=0 && ft>0){
63+
result.setText("Body Weight should not be 0. ");
64+
65+
} else if (ft<=0 && wt>=0) {
66+
result.setText("Height should not be 0 ");
67+
68+
} else {
69+
result.setText("Body Weight and Height should not be 0 ");
70+
}
71+
}});
72+
73+
74+
75+
}
76+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
xmlns:aapt="http://schemas.android.com/aapt"
3+
android:width="108dp"
4+
android:height="108dp"
5+
android:viewportWidth="108"
6+
android:viewportHeight="108">
7+
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
8+
<aapt:attr name="android:fillColor">
9+
<gradient
10+
android:endX="85.84757"
11+
android:endY="92.4963"
12+
android:startX="42.9492"
13+
android:startY="49.59793"
14+
android:type="linear">
15+
<item
16+
android:color="#44000000"
17+
android:offset="0.0" />
18+
<item
19+
android:color="#00000000"
20+
android:offset="1.0" />
21+
</gradient>
22+
</aapt:attr>
23+
</path>
24+
<path
25+
android:fillColor="#FFFFFF"
26+
android:fillType="nonZero"
27+
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
28+
android:strokeWidth="1"
29+
android:strokeColor="#00000000" />
30+
</vector>

0 commit comments

Comments
 (0)