Android Code
Android Code
java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_developer);
}
MAinActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
@Override
protected void onCreate(Bundle savedInstanceState) { // create activity
interface
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
PhosphorusActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phosphorus);
values =
retrieve.getBooleanArrayExtra(PotassiumActivity.EXTRA_NAME); // retrieve
boolean array
shade = retrieve.getIntExtra(PotassiumActivity.EXTRA_AVERAGE,0); //
retrieve leaf color shade
below =
retrieve.getBooleanExtra(PotassiumActivity.EXTRA_BELOW,false); // retrieve
boolean condition if below 4 or 3
method =
retrieve.getBooleanExtra(PotassiumActivity.EXTRA_METHOD,false);
case R.id.ck5:
if(checked) {
ck5 = true;
}
break;
PotassiumActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_potassium);
ave = aver.getIntExtra(TypeActivity.EXTRA_NAME,0);
below = aver.getBooleanExtra(TypeActivity.EXTRA_BELOW,false);
method = aver.getBooleanExtra(TypeActivity.EXTRA_METHOD,false);
}
case R.id.ck0:
if(checked) {
ck0 = true;
}
break;
case R.id.ck1:
if(checked) {
ck1 = true;
}
break;
case R.id.ck2:
if(checked) {
ck2 = true;
}
break;
case R.id.ck3:
if(checked) {
ck3 = true;
}
break;
// intent extra id
resultActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
conditions =
data.getBooleanArrayExtra(WeatherActivity.EXTRA_BOOLEAN);
average = data.getIntExtra(WeatherActivity.EXTRA_AVERAGE,0);
weather = data.getBooleanExtra(WeatherActivity.EXTRA_WEATHER,false);
below = data.getBooleanExtra(WeatherActivity.EXTRA_BELOW,false);
method = data.getBooleanExtra(WeatherActivity.EXTRA_METHOD,false);
/*
#5 - 4 - Dark Green
#4 - 3 - Green
#3 - 2 - Light Green
#2 - 1 - Yellow Green
*/
Toast.makeText(getApplication(),toast, Toast.LENGTH_SHORT).show();
// show toast
SamplingActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sampling_result);
ave = Math.max(level1,Math.max(level2,Math.max(level3,level4)));
// get the largest number
}
SamplingresultActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sampling_result);
ave = Math.max(level1,Math.max(level2,Math.max(level3,level4)));
// get the largest number
tipsActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tips);
}
TypeActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioGroup;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_type);
ave = data.getIntExtra(SamplingResult.EXTRA_NAME,0);
below = data.getBooleanExtra(SamplingResult.EXTRA_BELOW,false);
boolean method;
}
else {
Toast.makeText(getApplication(), "Please select method!",
Toast.LENGTH_SHORT).show(); // show toast if nothing is selected
}
}
}
WeatherActivity.java
package thefourbit.drriceapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
//import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_weather);
data = retrieve.getBooleanArrayExtra(PhosphorusActivity.EXTRA_NAME);
ave = retrieve.getIntExtra(PhosphorusActivity.EXTRA_AVERAGE,0);
below =
retrieve.getBooleanExtra(PhosphorusActivity.EXTRA_BELOW,false);
method =
retrieve.getBooleanExtra(PhosphorusActivity.EXTRA_METHOD,false);
// intent extra id
Boolean weather;
}
else {
Toast.makeText(getApplication(), "Please select season!",
Toast.LENGTH_SHORT).show(); // if no season selected show toast
}
}
Color.xml
Dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
String.xml
<resources>
<string name="app_name">Do It Rice!</string>
<string name="app_title">Do It Rice!</string>
<string name="app_button_start">Start</string>
<string name="app_button_capture">Capture</string>
<string name="app_button_proceed">Analyze Samples</string>
<string name="app_label_sample">Capture leaf color samples</string>
<string name="app_button_next">Next</string>
<string name="app_button_help">How To Use?</string>
<string name="app_label_color">Leaf Color Chart</string>
</resources>
Styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
AndroidManifest.xml
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher2"
android:label="@string/app_title"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
(log)Lint-result-release-fatal.html
(log)Lint-result-release-fatal.xml
</issues>
exampleinstrumentedTest.java
package thefourbit.drriceapp;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
* Instrumentation test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing
documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("thefourbit.drriceapp", appContext.getPackageName());
}
}
(src)App.iml
(src)Build.gradle
android {
compileSdkVersion 24
buildToolsVersion "24.0.3"
defaultConfig {
applicationId "thefourbit.drriceapp"
minSdkVersion 17
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-
core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:palette-v7:24.2.1'
testCompile 'junit:junit:4.12'
}