Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Upgrade this module so that it takes the form of an Android Studio project. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | android-studio |
Files: | files | file ages | folders |
SHA1: |
b5fcf9e7da39db8bfe61d9ed9ba0d10c |
User & Date: | dan 2016-05-19 15:24:07.799 |
Context
2016-05-19
| ||
18:01 | Remove the "project" directory from this module. The root of the source tree is now the root of the android studio project. (check-in: 89726d7811 user: dan tags: android-studio) | |
15:24 | Upgrade this module so that it takes the form of an Android Studio project. (check-in: b5fcf9e7da user: dan tags: android-studio) | |
2015-04-09
| ||
18:15 | Add an extra test for SQLiteOpenHelper. (check-in: cf6a31d2c9 user: dan tags: trunk) | |
Changes
Deleted AndroidManifest.xml.
|
| < < < < < < < < < < < < < < < |
Deleted ant.properties.
|
| < < < < < < < < < < < < < < < < < |
Deleted build.xml.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted local.properties.
|
| < < < < < < < < < < |
Deleted proguard-project.txt.
|
| < < < < < < < < < < < < < < < < < < < < |
Deleted project.properties.
|
| < < < < < < < < < < < < < < |
Deleted res/drawable-hdpi/ic_launcher.png.
cannot compute difference between binary files
Deleted res/drawable-ldpi/ic_launcher.png.
cannot compute difference between binary files
Deleted res/drawable-mdpi/ic_launcher.png.
cannot compute difference between binary files
Deleted res/drawable-xhdpi/ic_launcher.png.
cannot compute difference between binary files
Deleted res/layout/main.xml.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted res/values/strings.xml.
|
| < < < < |
Added sqlite/Customsqlite.iml.
> > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?xml version="1.0" encoding="UTF-8"?> <module external.linked.project.id="Customsqlite" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> <component name="FacetManager"> <facet type="java-gradle" name="Java-Gradle"> <configuration> <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" /> <option name="BUILDABLE" value="false" /> </configuration> </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true"> <exclude-output /> <content url="file://$MODULE_DIR$"> <excludeFolder url="file://$MODULE_DIR$/.gradle" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> </component> </module> |
Added sqlite/build.gradle.
> > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } |
Added sqlite/gradle.properties.
> > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified in this file. # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true android.useDeprecatedNdk true |
Added sqlite/gradle/wrapper/gradle-wrapper.jar.
cannot compute difference between binary files
Added sqlite/gradle/wrapper/gradle-wrapper.properties.
> > > > > > | 1 2 3 4 5 6 | #Mon Dec 28 10:00:20 PST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip |
Added sqlite/gradlew.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | #!/usr/bin/env bash ############################################################################## ## ## Gradle start up script for UN*X ## ############################################################################## # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS="" APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" warn ( ) { echo "$*" } die ( ) { echo echo "$*" echo exit 1 } # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false case "`uname`" in CYGWIN* ) cygwin=true ;; Darwin* ) darwin=true ;; MINGW* ) msys=true ;; esac # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" # Need this for relative symlinks. while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`"/$link" fi done SAVED="`pwd`" cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" cd "$SAVED" >/dev/null CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else JAVACMD="java" which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi # Increase the maximum file descriptors if we can. if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then MAX_FD="$MAX_FD_LIMIT" fi ulimit -n $MAX_FD if [ $? -ne 0 ] ; then warn "Could not set maximum file descriptor limit: $MAX_FD" fi else warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" fi fi # For Darwin, add options to specify how the application appears in the dock if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi # For Cygwin, switch paths to Windows format before running java if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" for dir in $ROOTDIRSRAW ; do ROOTDIRS="$ROOTDIRS$SEP$dir" SEP="|" done OURCYGPATTERN="(^($ROOTDIRS))" # Add a user-defined pattern to the cygpath arguments if [ "$GRADLE_CYGPATTERN" != "" ] ; then OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" fi # Now convert the arguments - kludge to limit ourselves to /bin/sh i=0 for arg in "$@" ; do CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` else eval `echo args$i`="\"$arg\"" fi i=$((i+1)) done case $i in (0) set -- ;; (1) set -- "$args0" ;; (2) set -- "$args0" "$args1" ;; (3) set -- "$args0" "$args1" "$args2" ;; (4) set -- "$args0" "$args1" "$args2" "$args3" ;; (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules function splitJvmOpts() { JVM_OPTS=("$@") } eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" |
Added sqlite/gradlew.bat.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS= set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if "%ERRORLEVEL%" == "0" goto init echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto init echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :init @rem Get command-line arguments, handling Windowz variants if not "%OS%" == "Windows_NT" goto win9xME_args if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. set CMD_LINE_ARGS= set _SKIP=2 :win9xME_args_slurp if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* goto execute :4NT_args @rem Get arguments from the 4NT Shell from JP Software set CMD_LINE_ARGS=%$ :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal :omega |
Added sqlite/settings.gradle.
> | 1 | include ':sqlite3', ':sqlite3test' |
Added sqlite/sqlite3/build.gradle.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | apply plugin: 'com.android.library' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets.main.jni.srcDirs = [] //disable automatic ndk-build call sourceSets.main { jniLibs.srcDir 'src/main/libs' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' } |
Added sqlite/sqlite3/proguard-rules.pro.
> > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /home/dan/Android/Sdk/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} |
Added sqlite/sqlite3/src/androidTest/java/org/sqlite/database/ApplicationTest.java.
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | package org.sqlite.database; import android.app.Application; import android.test.ApplicationTestCase; /** * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a> */ public class ApplicationTest extends ApplicationTestCase<Application> { public ApplicationTest() { super(Application.class); } } |
Added sqlite/sqlite3/src/main/AndroidManifest.xml.
> > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.sqlite.database"> <application android:allowBackup="true" android:label="@string/app_name" android:supportsRtl="true"> </application> </manifest> |
Name change from src/org/sqlite/database/DatabaseErrorHandler.java to sqlite/sqlite3/src/main/java/org/sqlite/database/DatabaseErrorHandler.java.
︙ | ︙ |
Name change from src/org/sqlite/database/DefaultDatabaseErrorHandler.java to sqlite/sqlite3/src/main/java/org/sqlite/database/DefaultDatabaseErrorHandler.java.
︙ | ︙ |
Name change from src/org/sqlite/database/ExtraUtils.java to sqlite/sqlite3/src/main/java/org/sqlite/database/ExtraUtils.java.
︙ | ︙ |
Name change from src/org/sqlite/database/SQLException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/SQLException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/package.html to sqlite/sqlite3/src/main/java/org/sqlite/database/package.html.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/CloseGuard.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/CloseGuard.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/DatabaseObjectNotClosedException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/DatabaseObjectNotClosedException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteAbortException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteAbortException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteAccessPermException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteAccessPermException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteBlobTooBigException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteBlobTooBigException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteCantOpenDatabaseException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteCantOpenDatabaseException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteClosable.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteClosable.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteConnection.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteConnection.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteConnectionPool.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteConnectionPool.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteConstraintException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteConstraintException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteCursor.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteCursor.java.
︙ | ︙ | |||
107 108 109 110 111 112 113 | } mDriver = driver; mEditTable = editTable; mColumnNameMap = null; mQuery = query; mColumns = query.getColumnNames(); | < | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | } mDriver = driver; mEditTable = editTable; mColumnNameMap = null; mQuery = query; mColumns = query.getColumnNames(); } /** * Get the database that this cursor is associated with. * @return the SQLiteDatabase that this cursor is associated with. */ public SQLiteDatabase getDatabase() { |
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteCursorDriver.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteCursorDriver.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteCustomFunction.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteCustomFunction.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDatabase.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDatabase.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDatabaseConfiguration.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDatabaseConfiguration.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDatabaseCorruptException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDatabaseCorruptException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDatabaseLockedException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDatabaseLockedException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDatatypeMismatchException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDatatypeMismatchException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDebug.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDebug.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDirectCursorDriver.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDirectCursorDriver.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDiskIOException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDiskIOException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteDoneException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteDoneException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteFullException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteFullException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteGlobal.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteGlobal.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteMisuseException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteMisuseException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteOpenHelper.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteOpenHelper.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteOutOfMemoryException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteOutOfMemoryException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteProgram.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteProgram.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteQuery.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteQuery.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteQueryBuilder.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteQueryBuilder.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteReadOnlyDatabaseException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteReadOnlyDatabaseException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteSession.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteSession.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteStatement.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteStatement.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteStatementInfo.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteStatementInfo.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteTableLockedException.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteTableLockedException.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SQLiteTransactionListener.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SQLiteTransactionListener.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/SqliteWrapper.java to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/SqliteWrapper.java.
︙ | ︙ |
Name change from src/org/sqlite/database/sqlite/package.html to sqlite/sqlite3/src/main/java/org/sqlite/database/sqlite/package.html.
︙ | ︙ |
Name change from jni/Android.mk to sqlite/sqlite3/src/main/jni/Android.mk.
Name change from jni/Application.mk to sqlite/sqlite3/src/main/jni/Application.mk.
Name change from jni/sqlite/ALog-priv.h to sqlite/sqlite3/src/main/jni/sqlite/ALog-priv.h.
︙ | ︙ |
Name change from jni/sqlite/Android.mk to sqlite/sqlite3/src/main/jni/sqlite/Android.mk.
︙ | ︙ |
Name change from jni/sqlite/JNIHelp.cpp to sqlite/sqlite3/src/main/jni/sqlite/JNIHelp.cpp.
︙ | ︙ |
Name change from jni/sqlite/JniConstants.cpp to sqlite/sqlite3/src/main/jni/sqlite/JniConstants.cpp.
︙ | ︙ |
Name change from jni/sqlite/README to sqlite/sqlite3/src/main/jni/sqlite/README.
︙ | ︙ |
Name change from jni/sqlite/android_database_SQLiteCommon.cpp to sqlite/sqlite3/src/main/jni/sqlite/android_database_SQLiteCommon.cpp.
︙ | ︙ |
Name change from jni/sqlite/android_database_SQLiteCommon.h to sqlite/sqlite3/src/main/jni/sqlite/android_database_SQLiteCommon.h.
︙ | ︙ |
Name change from jni/sqlite/android_database_SQLiteConnection.cpp to sqlite/sqlite3/src/main/jni/sqlite/android_database_SQLiteConnection.cpp.
︙ | ︙ |
Name change from jni/sqlite/android_database_SQLiteDebug.cpp to sqlite/sqlite3/src/main/jni/sqlite/android_database_SQLiteDebug.cpp.
︙ | ︙ |
Name change from jni/sqlite/android_database_SQLiteGlobal.cpp to sqlite/sqlite3/src/main/jni/sqlite/android_database_SQLiteGlobal.cpp.
︙ | ︙ |
Name change from jni/sqlite/nativehelper/JNIHelp.h to sqlite/sqlite3/src/main/jni/sqlite/nativehelper/JNIHelp.h.
︙ | ︙ |
Name change from jni/sqlite/nativehelper/JniConstants.h to sqlite/sqlite3/src/main/jni/sqlite/nativehelper/JniConstants.h.
︙ | ︙ |
Name change from jni/sqlite/nativehelper/ScopedLocalRef.h to sqlite/sqlite3/src/main/jni/sqlite/nativehelper/ScopedLocalRef.h.
︙ | ︙ |
Name change from jni/sqlite/nativehelper/jni.h to sqlite/sqlite3/src/main/jni/sqlite/nativehelper/jni.h.
︙ | ︙ |
Name change from jni/sqlite/sqlite3.c to sqlite/sqlite3/src/main/jni/sqlite/sqlite3.c.
︙ | ︙ |
Name change from jni/sqlite/sqlite3.h to sqlite/sqlite3/src/main/jni/sqlite/sqlite3.h.
︙ | ︙ |
Added sqlite/sqlite3/src/main/res/values/strings.xml.
> > > | 1 2 3 | <resources> <string name="app_name">Database</string> </resources> |
Added sqlite/sqlite3/src/test/java/org/sqlite/database/ExampleUnitTest.java.
> > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package org.sqlite.database; import org.junit.Test; import static org.junit.Assert.*; /** * To work on unit tests, switch the Test Artifact in the Build Variants view. */ public class ExampleUnitTest { @Test public void addition_isCorrect() throws Exception { assertEquals(4, 2 + 2); } } |
Added sqlite/sqlite3test/build.gradle.
> > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "org.sqlite.customsqlitetest" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile project(':sqlite3') } |
Added sqlite/sqlite3test/proguard-rules.pro.
> > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /home/dan/Android/Sdk/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} |
Added sqlite/sqlite3test/src/androidTest/java/org/sqlite/customsqlitetest/ApplicationTest.java.
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | package org.sqlite.customsqlitetest; import android.app.Application; import android.test.ApplicationTestCase; /** * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a> */ public class ApplicationTest extends ApplicationTestCase<Application> { public ApplicationTest() { super(Application.class); } } |
Added sqlite/sqlite3test/src/main/AndroidManifest.xml.
> > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.sqlite.customsqlitetest"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" 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> |
Added sqlite/sqlite3test/src/main/java/org/sqlite/customsqlitetest/MainActivity.java.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 | package org.sqlite.customsqlitetest; import android.content.Context; import android.database.Cursor; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.TextView; import org.sqlite.database.DatabaseErrorHandler; import org.sqlite.database.sqlite.SQLiteDatabase; import org.sqlite.database.sqlite.SQLiteStatement; import org.sqlite.database.sqlite.SQLiteDatabaseCorruptException; import org.sqlite.database.sqlite.SQLiteOpenHelper; import java.io.File; import java.io.FileInputStream; import java.util.Arrays; class DoNotDeleteErrorHandler implements DatabaseErrorHandler { private static final String TAG = "DoNotDeleteErrorHandler"; public void onCorruption(SQLiteDatabase dbObj) { Log.e(TAG, "Corruption reported by sqlite on database: " + dbObj.getPath()); } } public class MainActivity extends AppCompatActivity { private TextView myTV; /* Text view widget */ private int myNTest; /* Number of tests attempted */ private int myNErr; /* Number of tests failed */ File DB_PATH; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myTV = (TextView)findViewById(R.id.tv_widget); } public void report_version(){ SQLiteDatabase db = null; SQLiteStatement st; String res; db = SQLiteDatabase.openOrCreateDatabase(":memory:", null); st = db.compileStatement("SELECT sqlite_version()"); res = st.simpleQueryForString(); myTV.append("SQLite version " + res + "\n\n"); } public void test_warning(String name, String warning){ myTV.append("WARNING:" + name + ": " + warning + "\n"); } public void test_result(String name, String res, String expected){ myTV.append(name + "... "); myNTest++; if( res.equals(expected) ){ myTV.append("ok\n"); } else { myNErr++; myTV.append("FAILED\n"); myTV.append(" res= \"" + res + "\"\n"); myTV.append(" expected=\"" + expected + "\"\n"); } } /* ** Test if the database at DB_PATH is encrypted or not. The db ** is assumed to be encrypted if the first 6 bytes are anything ** other than "SQLite". ** ** If the test reveals that the db is encrypted, return the string ** "encrypted". Otherwise, "unencrypted". */ public String db_is_encrypted() throws Exception { FileInputStream in = new FileInputStream(DB_PATH); byte[] buffer = new byte[6]; in.read(buffer, 0, 6); String res = "encrypted"; if( Arrays.equals(buffer, (new String("SQLite")).getBytes()) ){ res = "unencrypted"; } return res; } /* ** Test that a database connection may be accessed from a second thread. */ public void thread_test_1(){ SQLiteDatabase.deleteDatabase(DB_PATH); final SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); String db_path2 = DB_PATH.toString() + "2"; db.execSQL("CREATE TABLE t1(x, y)"); db.execSQL("INSERT INTO t1 VALUES (1, 2), (3, 4)"); Thread t = new Thread( new Runnable() { public void run() { SQLiteStatement st = db.compileStatement("SELECT sum(x+y) FROM t1"); String res = st.simpleQueryForString(); test_result("thread_test_1", res, "10"); } }); t.start(); try { t.join(); } catch (InterruptedException e) { } } /* ** Test that a database connection may be accessed from a second thread. */ public void thread_test_2(){ SQLiteDatabase.deleteDatabase(DB_PATH); final SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); db.execSQL("CREATE TABLE t1(x, y)"); db.execSQL("INSERT INTO t1 VALUES (1, 2), (3, 4)"); db.enableWriteAheadLogging(); db.beginTransactionNonExclusive(); db.execSQL("INSERT INTO t1 VALUES (5, 6)"); Thread t = new Thread( new Runnable() { public void run() { SQLiteStatement st = db.compileStatement("SELECT sum(x+y) FROM t1"); String res = st.simpleQueryForString(); } }); t.start(); String res = "concurrent"; int i; for(i=0; i<20 && t.isAlive(); i++){ try { Thread.sleep(100); } catch(InterruptedException e) {} } if( t.isAlive() ){ res = "blocked"; } db.endTransaction(); try { t.join(); } catch(InterruptedException e) {} if( SQLiteDatabase.hasCodec() ){ test_result("thread_test_2", res, "blocked"); } else { test_result("thread_test_2", res, "concurrent"); } } /* ** Use a Cursor to loop through the results of a SELECT query. */ public void csr_test_2() throws Exception { SQLiteDatabase.deleteDatabase(DB_PATH); SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); String res = ""; String expect = ""; int i; int nRow = 0; db.execSQL("CREATE TABLE t1(x)"); db.execSQL("BEGIN"); for(i=0; i<1000; i++){ db.execSQL("INSERT INTO t1 VALUES ('one'), ('two'), ('three')"); expect += ".one.two.three"; } db.execSQL("COMMIT"); Cursor c = db.rawQuery("SELECT x FROM t1", null); if( c!=null ){ boolean bRes; for(bRes=c.moveToFirst(); bRes; bRes=c.moveToNext()){ String x = c.getString(0); res = res + "." + x; } }else{ test_warning("csr_test_1", "c==NULL"); } test_result("csr_test_2.1", res, expect); db.execSQL("BEGIN"); for(i=0; i<1000; i++){ db.execSQL("INSERT INTO t1 VALUES (X'123456'), (X'789ABC'), (X'DEF012')"); db.execSQL("INSERT INTO t1 VALUES (45), (46), (47)"); db.execSQL("INSERT INTO t1 VALUES (8.1), (8.2), (8.3)"); db.execSQL("INSERT INTO t1 VALUES (NULL), (NULL), (NULL)"); } db.execSQL("COMMIT"); c = db.rawQuery("SELECT x FROM t1", null); if( c!=null ){ boolean bRes; for(bRes=c.moveToFirst(); bRes; bRes=c.moveToNext()) nRow++; }else{ test_warning("csr_test_1", "c==NULL"); } test_result("csr_test_2.2", "" + nRow, "15000"); db.close(); } public String string_from_t1_x(SQLiteDatabase db){ String res = ""; Cursor c = db.rawQuery("SELECT x FROM t1", null); boolean bRes; for(bRes=c.moveToFirst(); bRes; bRes=c.moveToNext()){ String x = c.getString(0); res = res + "." + x; } return res; } public void csr_test_1() throws Exception { SQLiteDatabase.deleteDatabase(DB_PATH); SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); String res = ""; db.execSQL("CREATE TABLE t1(x)"); db.execSQL("INSERT INTO t1 VALUES ('one'), ('two'), ('three')"); res = string_from_t1_x(db); test_result("csr_test_1.1", res, ".one.two.three"); db.close(); test_result("csr_test_1.2", db_is_encrypted(), "unencrypted"); } public void stmt_jrnl_test_1() throws Exception { SQLiteDatabase.deleteDatabase(DB_PATH); SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); String res = ""; db.execSQL("CREATE TABLE t1(x, y UNIQUE)"); db.execSQL("BEGIN"); db.execSQL("INSERT INTO t1 VALUES(1, 1), (2, 2), (3, 3)"); db.execSQL("UPDATE t1 SET y=y+3"); db.execSQL("COMMIT"); db.close(); test_result("stmt_jrnl_test_1.1", "did not crash", "did not crash"); } public void supp_char_test_1() throws Exception { SQLiteDatabase.deleteDatabase(DB_PATH); SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); String res = ""; String smiley = new String( Character.toChars(0x10000) ); db.execSQL("CREATE TABLE t1(x)"); db.execSQL("INSERT INTO t1 VALUES ('a" + smiley + "b')"); res = string_from_t1_x(db); test_result("supp_char_test1." + smiley, res, ".a" + smiley + "b"); db.close(); } /* ** If this is a SEE build, check that encrypted databases work. */ public void see_test_1() throws Exception { if( !SQLiteDatabase.hasCodec() ) return; SQLiteDatabase.deleteDatabase(DB_PATH); String res = ""; SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); db.execSQL("PRAGMA key = 'secretkey'"); db.execSQL("CREATE TABLE t1(x)"); db.execSQL("INSERT INTO t1 VALUES ('one'), ('two'), ('three')"); res = string_from_t1_x(db); test_result("see_test_1.1", res, ".one.two.three"); db.close(); test_result("see_test_1.2", db_is_encrypted(), "encrypted"); db = SQLiteDatabase.openOrCreateDatabase(DB_PATH, null); db.execSQL("PRAGMA key = 'secretkey'"); res = string_from_t1_x(db); test_result("see_test_1.3", res, ".one.two.three"); db.close(); res = "unencrypted"; try { db = SQLiteDatabase.openOrCreateDatabase(DB_PATH.getPath(), null); string_from_t1_x(db); } catch ( SQLiteDatabaseCorruptException e ){ res = "encrypted"; } finally { db.close(); } test_result("see_test_1.4", res, "encrypted"); res = "unencrypted"; try { db = SQLiteDatabase.openOrCreateDatabase(DB_PATH.getPath(), null); db.execSQL("PRAGMA key = 'otherkey'"); string_from_t1_x(db); } catch ( SQLiteDatabaseCorruptException e ){ res = "encrypted"; } finally { db.close(); } test_result("see_test_1.5", res, "encrypted"); } class MyHelper extends SQLiteOpenHelper { public MyHelper(Context ctx){ super(ctx, DB_PATH.getPath(), null, 1); } public void onConfigure(SQLiteDatabase db){ db.execSQL("PRAGMA key = 'secret'"); } public void onCreate(SQLiteDatabase db){ db.execSQL("CREATE TABLE t1(x)"); } public void onUpgrade(SQLiteDatabase db, int iOld, int iNew){ } } /* ** Check that SQLiteOpenHelper works. */ public void helper_test_1() throws Exception { SQLiteDatabase.deleteDatabase(DB_PATH); MyHelper helper = new MyHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("INSERT INTO t1 VALUES ('x'), ('y'), ('z')"); String res = string_from_t1_x(db); test_result("helper.1", res, ".x.y.z"); helper.close(); } /* ** If this is a SEE build, check that SQLiteOpenHelper still works. */ public void see_test_2() throws Exception { if( !SQLiteDatabase.hasCodec() ) return; SQLiteDatabase.deleteDatabase(DB_PATH); MyHelper helper = new MyHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("INSERT INTO t1 VALUES ('x'), ('y'), ('z')"); String res = string_from_t1_x(db); test_result("see_test_2.1", res, ".x.y.z"); test_result("see_test_2.2", db_is_encrypted(), "encrypted"); helper.close(); helper = new MyHelper(this); db = helper.getReadableDatabase(); test_result("see_test_2.3", res, ".x.y.z"); db = helper.getWritableDatabase(); test_result("see_test_2.4", res, ".x.y.z"); test_result("see_test_2.5", db_is_encrypted(), "encrypted"); } public void run_the_tests(View view){ System.loadLibrary("sqliteX"); DB_PATH = getApplicationContext().getDatabasePath("test.db"); DB_PATH.getParentFile().mkdirs(); myTV.setText(""); myNErr = 0; myNTest = 0; try { report_version(); helper_test_1(); supp_char_test_1(); csr_test_1(); csr_test_2(); thread_test_1(); thread_test_2(); see_test_1(); see_test_2(); stmt_jrnl_test_1(); myTV.append("\n" + myNErr + " errors from " + myNTest + " tests\n"); } catch(Exception e) { myTV.append("Exception: " + e.toString() + "\n"); myTV.append(android.util.Log.getStackTraceString(e) + "\n"); } } } |
Added sqlite/sqlite3test/src/main/res/layout/activity_main.xml.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="org.sqlite.customsqlitetest.MainActivity"> <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/scrollView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Run all tests!" android:id="@+id/button" android:layout_gravity="center_horizontal" android:onClick="run_the_tests" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/tv_widget" android:layout_alignTop="@+id/scrollView" android:layout_centerHorizontal="true" /> </LinearLayout> </ScrollView> </RelativeLayout> |
Added sqlite/sqlite3test/src/main/res/mipmap-hdpi/ic_launcher.png.
cannot compute difference between binary files
Added sqlite/sqlite3test/src/main/res/mipmap-mdpi/ic_launcher.png.
cannot compute difference between binary files
Added sqlite/sqlite3test/src/main/res/mipmap-xhdpi/ic_launcher.png.
cannot compute difference between binary files
Added sqlite/sqlite3test/src/main/res/mipmap-xxhdpi/ic_launcher.png.
cannot compute difference between binary files
Added sqlite/sqlite3test/src/main/res/mipmap-xxxhdpi/ic_launcher.png.
cannot compute difference between binary files
Added sqlite/sqlite3test/src/main/res/values-w820dp/dimens.xml.
> > > > > > | 1 2 3 4 5 6 | <resources> <!-- Example customization of dimensions originally defined in res/values/dimens.xml (such as screen margins) for screens with more than 820dp of available width. This would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> <dimen name="activity_horizontal_margin">64dp</dimen> </resources> |
Added sqlite/sqlite3test/src/main/res/values/colors.xml.
> > > > > > | 1 2 3 4 5 6 | <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> </resources> |
Added sqlite/sqlite3test/src/main/res/values/dimens.xml.
> > > > > | 1 2 3 4 5 | <resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> </resources> |
Added sqlite/sqlite3test/src/main/res/values/strings.xml.
> > > | 1 2 3 | <resources> <string name="app_name">CustomsqliteTest</string> </resources> |
Added sqlite/sqlite3test/src/main/res/values/styles.xml.
> > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 | <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> </style> </resources> |
Added sqlite/sqlite3test/src/test/java/org/sqlite/customsqlitetest/ExampleUnitTest.java.
> > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package org.sqlite.customsqlitetest; import org.junit.Test; import static org.junit.Assert.*; /** * To work on unit tests, switch the Test Artifact in the Build Variants view. */ public class ExampleUnitTest { @Test public void addition_isCorrect() throws Exception { assertEquals(4, 2 + 2); } } |
Deleted src/org/sqlite/app/customsqlite/CustomSqlite.java.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |