java - 如何在 Android fragment 中显示 MySQL 数据库中的数据行?

标签 java android mysql android-fragments

我正在尝试为我的学校构建一个食物菜单应用程序。我每周都会将膳食计划输入 MySQL 数据库。我的应用程序有一个选项卡式 View ,每个 fragment 代表一周中的某一天。

我希望能够在相应的 fragment 上显示相应日期的菜单。

MainActivity.java

    package me.anshsehgal.lunchmenu;

import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;

import android.app.FragmentManager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {

    Toolbar toolbar;
    TabLayout tabLayout;
    ViewPager viewPager;
    ViewPagerAdapter viewPagerAdapter;  //make all the variables

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

        toolbar = (Toolbar)findViewById(R.id.toolBar);
        setSupportActionBar(toolbar);
        tabLayout = (TabLayout)findViewById(R.id.tabLayout);
        viewPager = (ViewPager)findViewById(R.id.viewPager); //reference them
        viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
        viewPagerAdapter.addFragments(new HomeFragment(),"M");
        viewPagerAdapter.addFragments(new MondayFragment(),"Tue");
        viewPagerAdapter.addFragments(new TuesdayFragment(),"W");
        viewPagerAdapter.addFragments(new WednesdayFragment(),"Thu");
        viewPagerAdapter.addFragments(new ThursdayFragment(),"F");   //adding fragments to view page adapter


        viewPager.setAdapter(viewPagerAdapter);
        tabLayout.setupWithViewPager(viewPager);


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_layout,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        RelativeLayout main_view = (RelativeLayout)findViewById(R.id.anshLayout);

        switch (item.getItemId()){
            case R.id.action_settings:
                if(item.isChecked())
                    item.setChecked(false);
                else
                    item.setChecked(true);
                Intent i = new Intent(this,Settings.class);
                startActivity(i);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
}

}

MondayFragment.java

package me.anshsehgal.lunchmenu;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


/**
 * A simple {@link Fragment} subclass.
 */
public class MondayFragment extends Fragment {


    public MondayFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_monday, container, false);
    }

}

应用程序截图 Sample of the layout

Sample entry in table

最佳答案

不建议直接在Android应用程序中访问我的sql。您需要构建 REST API,它将以压缩方式(JSON)公开所需的数据。您可以使用任何编程语言(例如 Java/C#/Scala/Node)来公开其余端点。

如果您尝试存储特定于用户的数据,那么您可以使用 sql lite 数据库

关于java - 如何在 Android fragment 中显示 MySQL 数据库中的数据行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37951832/

相关文章:

java - 在 request.getParameter ("something"中获取 null )

android - 为什么我的新Admob单元没有任何广告?

php - 未定义的 mysql 函数使用 macports 在 mac os x 下安装的 mySql5 + php5 + apache2

Java定时器每t秒调用函数n次

java - 虚拟轨迹球实现

android - Unity、Android 和 iOS 之间的共享首选项

AndroidPlot 获取线的 Y 位置

mysql - 两个整数列之间的差异无法按预期工作

php - 警告:PDO::prepare() 期望参数 1 为字符串,给定对象

java - 继承类型问题: is there a clean solution?