GVKun编程网logo

android / mysql的评级算法(mysql等级)

23

在本文中,您将会了解到关于android/mysql的评级算法的新资讯,同时我们还将为您解释mysql等级的相关在本文中,我们将带你探索android/mysql的评级算法的奥秘,分析mysql等级的

在本文中,您将会了解到关于android / mysql的评级算法的新资讯,同时我们还将为您解释mysql等级的相关在本文中,我们将带你探索android / mysql的评级算法的奥秘,分析mysql等级的特点,并给出一些关于Android Studio – 使用依赖于另一个Android库的Android库构建Android项目、Android Studio 连接到 mysql 不断崩溃、Android – Ruby on Rails – MySQL、Android – 将SQLite与MySQL同步的最佳方式的实用技巧。

本文目录一览:

android / mysql的评级算法(mysql等级)

android / mysql的评级算法(mysql等级)

我是一个虚拟的 Android开发,目前正在创建一个Android应用程序,并试图实现一个评级系统,允许用户提交评论,并被其他用户评级.我想知道整个过程将如何以及需要什么算法.

指导意见将得到极大的回应,并提前表示感谢.

解决方法

如果您对其他创建评级系统的网站持开放态度,我相信您可以在网上找到很多

Android Studio – 使用依赖于另一个Android库的Android库构建Android项目

Android Studio – 使用依赖于另一个Android库的Android库构建Android项目

我需要使用Gradle构建一个依赖于Android库项目A的Android项目,该项目取决于另一个Android库项目B.

到目前为止,我有以下内容:

Android项目:

的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

dependencies {
    compile project(':LibA')
}

android {
    compileSdkVersion 7
    buildToolsversion "17.0.0"
}

manifest.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.cyborg.template"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="7" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name="com.cyborg.template.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Android库A:

的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

dependencies {
    compile project(':LibB')
}


android {
    compileSdkVersion 7
    buildToolsversion "17.0.0"
} 

manifest.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.lib.project.a"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
            android:minSdkVersion="7"
            android:targetSdkVersion="7"/>

</manifest>

Android库B:

的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

android {
    compileSdkVersion 7
    buildToolsversion "17.0.0"
} 

manifest.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.lib.project.b"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
            android:minSdkVersion="7"
            android:targetSdkVersion="7"/>

</manifest>

在尝试构建Android项目时,Android studio报告了以下错误:

Gradle: Execution Failed for task ':LibA:processDebugManifest'.
  > Manifest merging Failed. See console for more info.

那个控制台在哪里我想搜索有关错误的更多信息?

我发现了一些关于这个错误的问题,但它似乎与我的情况不一样.

启示?

谢谢,
亚当.

解决方法:

该库的清单文件当前必须具有< application />节点,即使它是空的.

这是我们将在某些时候删除的限制,但现在,只需添加它.

Android Studio 连接到 mysql 不断崩溃

Android Studio 连接到 mysql 不断崩溃

如何解决Android Studio 连接到 mysql 不断崩溃?

这是我的 MainActivity.java

我是 android studio 的新手。我尝试将 android studio 与 MysqL 连接,但是当我运行模拟器时,显示 androidapp 一直停止。我调试时,它会在 void doInBackground 处停止。我的代码有什么问题吗。

package de.vogella.MysqL.androidMysqL;

import androidx.appcompat.app.AppCompatActivity;

import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.w3c.dom.Text;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class MainActivity extends AppCompatActivity {

    TextView text,errorText;
    Button show;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        text = (TextView) findViewById(R.id.textView);
        errorText = (TextView) findViewById(R.id.textView2);
        show = (Button)findViewById(`enter code here`R.id.button);

        show.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Task retrieveData = (Task) new Task().execute();
            }
        });
    }

    class Task extends AsyncTask<Void,Void,Void> {
        String records = "",error = "";

        /*final TextView textShow = findViewById(R.id.textView);
        final TextView textShow2 = findViewById(R.id.textView2);

        static final String JDBC_DRIVER = "com.MysqL.cj.jdbc.Driver";
        //static final String DB_URL = "jdbc:MysqL://" + ConnectURL.DATABASE_URL + "/" + ConnectURL.DATABASE_NAME

        @Override
        protected void onPreExcute(){
            String xmsg= "Connecting to database...";
            textShow.setText(xmsg);
        }*/
        @Override
        protected Void doInBackground(Void... voids) {
            Connection conn = null;
            Statement stmt = null;

            try {
                Class.forName("com.MysqL.cj.jdbc.Driver");
          
         conn =DriverManager.getConnection("jdbc:MysqL://192.168.0.124:3306/android","andro","1234");
                stmt = conn.createStatement();
                **when i debug the emulator stop here and crashed**
                ResultSet resultSet = statement.executeQuery("Select * FROM table_name");

                while (rs.next()) {
                    records += rs.getString(1) + " " + rs.getString(2) + "\n";
                }
            } catch (Exception e) {
                error = e.toString();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            text.setText(records);
            if (error != "")
                errorText.setText(error);
            super.onPostExecute(aVoid);
        }
    }
}

这是我的activity_main.xml我觉得这里没什么问题

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:textSize="24sp"
    app:layout_constraintBottom_toTopOf="@+id/button"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Show Records"
    android:textSize="24sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView2"
    android:textSize="24sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/button" />

这里是我从 logcat 得到的

2021-04-28 15:01:32.162 5615-5660/de.vogella.MysqL.androidMysqL E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: de.vogella.MysqL.androidMysqL,PID: 5615
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$4.done(AsyncTask.java:415)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/sql/sqlType;
        at com.MysqL.cj.jdbc.DatabaseMetaData.getInstance(DatabaseMetaData.java:765)
        at com.MysqL.cj.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:1175)
        at com.MysqL.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
        at com.MysqL.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
        at com.MysqL.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
        at java.sql.DriverManager.getConnection(DriverManager.java:580)
        at java.sql.DriverManager.getConnection(DriverManager.java:218)
        at de.vogella.MysqL.androidMysqL.MainActivity$Task.doInBackground(MainActivity.java:61)
        at de.vogella.MysqL.androidMysqL.MainActivity$Task.doInBackground(MainActivity.java:40)
        at android.os.AsyncTask$3.call(AsyncTask.java:394)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:923) 
     Caused by: java.lang.classNotFoundException: Didn''t find class "java.sql.sqlType" on path: DexPathList[[zip file "/data/app/~~X8MIj6EwtZt9_UXjh82Wmg==/de.vogella.MysqL.androidMysqL--7dPP3pspout7aIGSh_6jg==/base.apk"],nativeLibraryDirectories=[/data/app/~~X8MIj6EwtZt9_UXjh82Wmg==/de.vogella.MysqL.androidMysqL--7dPP3pspout7aIGSh_6jg==/lib/x86,/system/lib,/system_ext/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
        at java.lang.classLoader.loadClass(ClassLoader.java:379)
        at java.lang.classLoader.loadClass(ClassLoader.java:312)
        at com.MysqL.cj.jdbc.DatabaseMetaData.getInstance(DatabaseMetaData.java:765) 
        at com.MysqL.cj.jdbc.ConnectionImpl.getMetaData(ConnectionImpl.java:1175) 
        at com.MysqL.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444) 
        at com.MysqL.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) 
        at com.MysqL.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) 
        at java.sql.DriverManager.getConnection(DriverManager.java:580) 
        at java.sql.DriverManager.getConnection(DriverManager.java:218) 
        at de.vogella.MysqL.androidMysqL.MainActivity$Task.doInBackground(MainActivity.java:61) 
        at de.vogella.MysqL.androidMysqL.MainActivity$Task.doInBackground(MainActivity.java:40) 
        at android.os.AsyncTask$3.call(AsyncTask.java:394) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:923) 
2021-04-28 15:01:32.349 5615-5660/de.vogella.MysqL.androidMysqL I/Process: Sending signal. PID: 5615 SIG: 9

解决方法

显然你的代码没问题,问题在于你正在使用的驱动程序库“com.mysql.cj.jdbc.Driver”,你确定你已经正确定义了类路径,这也可能对你有帮助https://stackoverflow.com/a/59867655/9502601

Android – Ruby on Rails – MySQL

Android – Ruby on Rails – MySQL

我已经开始研究一个Android应用程序,我们需要使用MysqL作为数据库,使用Ruby on Rails作为服务器端代码.我们也将在设备上使用sqlLite(将在需要时同步DB).我搜索了网络,找不到任何相关的教程/示例,可以作为开始的基础.

我已经完成了MysqL和ROR教程,但仍然对将Android与ROR连接起来感到困惑.

有人可以分享一些相关的教程/代码片段,可以解释技术的完整链接.我的意思是如何将数据从Android设备发送到MysqL,反之亦然.我从理论上了解这个概念,但不知道如何以及从哪里开始.

我真诚地对提出这样一个基本问题表示歉意,或者我听起来含糊不清,但我是初学者,需要完成这项任务.在预期中感谢..

解决方法:

以下是您应该了解的目标的简要概述.我不会那么详细,特别是因为我从未亲自使用过RoR.请注意,其中一些部分可能与RoR无关,但其背后的一般概念仍然适用.我将由您来研究并弄清楚如何实现每个单独的组件.

一切的一般流程如下:

Android应用< ==>网络< ==>网络服务< ==> MysqL的

请注意双刃箭头,因为数据将在两个方向上流动.

Android App是客户端,Web Service和MysqL数据库位于Web服务器上.我只包含了网络部分的完整性,但是一旦将数据发送到网络,您就不必做任何事情.

每个部分的简要概述:

Android应用:

Android App是从Web服务器发送和检索数据的客户端.我假设在您的应用程序中,您将允许用户执行某些任务,这些任务本质上会成为您希望在某个时刻发送到服务器的数据.

例如,用户应该能够输入他的名字和喜爱的动物.假设用户可能会点击一个实际的“提交”按钮.单击此“提交”按钮时,它应将数据包装成适当的格式以通过网络发送.其中两个最常见的是JSON和XML.一旦数据格式正确,您将需要使用某种类型的网络协议(如HTTP)将数据发送到服务器.为了发送数据,您当然必须有一些URL作为目标.让我们说目标是www.example.com/webservice.PHP.此目标是位于Web服务器上的Web服务.

一旦发送数据,服务器将回复一些数据,此时您可以随意执行任何操作.可能会将其显示给用户,或者将其粘贴到sqlite数据库中,甚至两者中.

要记住的关键是没有魔法.我刚刚描述的所有内容都将以Java代码实现,您将在某些时候在Android应用程序中编写.

关键想法你应该更多地研究并弄清楚如何在Java代码中实现:

> JSON和XML
> Java中的HTTP
> REST和SOAP
> Here是关于设置Android应用程序结构的可能方式的精彩视频.
>确保您在另一个线程上的Android应用程序中执行所有网络操作.一种易于使用的方法是Intent Service.

网络服务:

这通常是最令人困惑的部分. Web服务只是尝试访问Web服务器的客户端的一些入口点.在使用RoR时,我的解释可能略有不同,但同样的想法适用.请注意,目标网址为www.example.com/webservice.PHP. Web服务实际上是Web服务器上存在的PHP代码,称为webservice.PHP.在Android应用程序中,当您使用HTTP将数据发送到目标URL时,Web服务代码将在服务器上执行(并且还可以访问您发送给它的数据).在Web服务代码中,您基本上将提取数据(以某种格式,如JSON),获取必要的部分,然后使用它.在这种情况下,您很可能会查询数据库.在PHP中,编写连接和查询也在服务器上运行的MysqL数据库的代码很容易.当Web服务器检索到数据库的响应时,您可以将其发送回Android应用程序.和以前一样,请记住,没有任何魔法可言.所有这些想法都是通过编写一些代码来实现的.

研究的主要思路:

> Ruby on Rails Web服务
>如何使用Ruby on Rails访问MysqL数据库

MysqL数据库:

您可以在此处将数据存储在Web服务器上.我不打算深入研究这一点,因为这只是要求您在如何在Web服务器上设置MysqL数据库时进行大量阅读.学习如何创建适当的查询(如SELECT,INSERT等)也很重要.

研究的主要思路:

如何在Web服务器上设置MysqL数据库

如果您需要任何澄清,请告诉我们!

Android – 将SQLite与MySQL同步的最佳方式

Android – 将SQLite与MySQL同步的最佳方式

参见英文答案 > Synchronizing client-server databases5个
我正在开发一个包含网络应用和移动应用程序的项目,该应用程序记录每日用户的数据.用户可以删除,更新他们的数据,他们可以使用许多设备插入数据.
我打算这样开发:
用户输入他们的数据然后插入sqlite.服务将定期启动(每5小时或每小时)以使用时间戳与MysqL同步.
我确实在互联网上使用服务和时间戳搜索了一个样本,但我一无所获.如果有样本或教程会很棒.
我是Android的新手,我不知道开发这样的应用程序的最佳方式是什么.提前致谢.

– – 编辑 – –
我考虑使用时间戳或同步.哪个更有效?

解决方法

您可以通过谷歌或任何其他库使用volley库,这取决于您希望如何发送数据,最好的方法是使用JSON让您的生活更轻松,从您希望与后端同步的sqlite中获取数据并使用volley通过JsonObjectRequest发送它,例如您的请求可能如下所示
jsonObjectRequest postForm = new JsonObjectRequest(Request.Method.POST,URL,YourjsonData,new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
         // here you can get your response.
        },new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
    // here you can tell there is something went wrong.
    });

你可以添加一个新值,指示该值是否已同步或来自本地数据库.例如,假设您有一个名为student的表,并且当您的响应返回成功时,此表有三列ID,NAME并在上面的代码中同步更新行同步列为true | false,表示此行是否与您的后端同步或没有.要从数据库中获取数据,您应该执行以下操作.

public String getStudents() {
        List<Student> students = new ArrayList<Student>();
        String query = "SELECT  * FROM " + STUDENT+ "where synced=0";
        sqliteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(query,null);
        if (cursor.movetoFirst()) {
            do {
                Student st = new Student();
                st.setId(cursor.getString(cursor.getColumnIndex(ID)));
                st.setName(cursor.getString(cursor.getColumnIndex(NAME)));
                st.setSynced(cursor.getInt(cursor.getColumnIndex(SYNCED)));
                students.add(st);
            } while (cursor.movetoNext());
        }
        db.close();
        return new Gson().toJson(students);
    }

今天关于android / mysql的评级算法mysql等级的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android Studio – 使用依赖于另一个Android库的Android库构建Android项目、Android Studio 连接到 mysql 不断崩溃、Android – Ruby on Rails – MySQL、Android – 将SQLite与MySQL同步的最佳方式的相关知识,请在本站搜索。

本文标签: