如何从阿拉姆卡纳克安卓周视图库中的SQlite数据库获取所有事件?

我正在尝试从我的SQLite数据库动态添加事件,但我在我的周视图中得到一个事件,这是我在数据库中添加的最后一个事件,我正在使用Lamkanak Week-View,我遇到了问题并尝试了许多方法,请帮助大家。


mWeekView.setMonthChangeListener(new MonthLoader.MonthChangeListener() {

        @Override

        public List<? extends WeekViewEvent> onMonthChange(int newYear, int newMonth) {

            ArrayList<WeekViewEvent> lastevents = new ArrayList<WeekViewEvent>();

            lastevents = loadDateFromJson(newYear,newMonth);

               events.addAll(loadDateFromJson(newYear,newMonth));

                return events;

        }

    } );

}


 public ArrayList<WeekViewEvent> getmNewEvents(int year , int month ) {

    // Parse time.

    SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");

    Date start = new Date();

    Date end = new Date();

    start = getMyTime();

    try {

        end = sdf.parse(new Event().getEndTime());

    } catch (ParseException e) {

        e.printStackTrace();

    }

    Calendar now = Calendar.getInstance();

    Calendar startTime = (Calendar) now.clone();

    startTime.setTimeInMillis(start.getTime());

    startTime.set(Calendar.YEAR, now.get(Calendar.YEAR));

    startTime.set(Calendar.MONTH, now.get(Calendar.MONTH));

    startTime.set(Calendar.DAY_OF_MONTH, getMyDate());

    Calendar endTime = (Calendar) startTime.clone();

    endTime.add(Calendar.HOUR_OF_DAY, 3);

创建周视图事件。


    ArrayList<WeekViewEvent> ThisMonthsEvents = new   ArrayList<WeekViewEvent>();

    WeekViewEvent weekViewEvent =new WeekViewEvent(1,"Raouf",startTime,endTime);

    mNewEvents.add(weekViewEvent);


for (int i = 0; i < mNewEvents.size(); i++) {

        mNewEvents.get(i).getStartTime().get(Calendar.MONTH);

        if((mNewEvents.get(i).getStartTime().get(Calendar.MONTH) == month)&&(mNewEvents.get(i).getStartTime().get(Calendar.YEAR) == year))

            ThisMonthsEvents.add(mNewEvents.get(i));

}


慕娘9325324
浏览 58回答 1
1回答

冉冉说

我发现如何解决这个问题,我使用JSONArrays,它在这里工作得很好,也许有人会需要它!public&nbsp; List<WeekViewEvent> loadDateFromJson(int year , int month) {&nbsp; &nbsp; &nbsp; &nbsp; DBconexion dBconexion = new DBconexion(this);&nbsp; &nbsp; &nbsp; &nbsp; @SuppressLint("SimpleDateFormat") SimpleDateFormat sdfD = new SimpleDateFormat("yy-MM-dd");&nbsp; &nbsp; &nbsp; &nbsp; @SuppressLint("SimpleDateFormat") SimpleDateFormat sdfT = new SimpleDateFormat("HH:mm");&nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JSONObject jo = dBconexion.getDateTime();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JSONArray Datejason = jo.getJSONArray("Date");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JSONArray Timejason = jo.getJSONArray("Time");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JSONArray endTimejason = jo.getJSONArray("End Time");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JSONArray Namejason = jo.getJSONArray("Name");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < Datejason.length(); i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //set date&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String sd = (String) Datejason.get(i);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Date dfj = sdfD.parse(sd);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int Day = dfj.getDate();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int Month = dfj.getMonth() - 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int Year = dfj.getYear();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //set time&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String st = (String) Timejason.get(i);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Date tfj = sdfT.parse(st);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int Hour = tfj.getHours();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int Minute = tfj.getMinutes();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String endTimeP = (String) endTimejason.getString(i);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int endTimePeriod = Integer.valueOf(endTimeP);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //set name&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String Name = (String) Namejason.getString(i);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Rand Colors for Events&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Random rand = new Random();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int r = rand.nextInt(255);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int g = rand.nextInt(255);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int b = rand.nextInt(255);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int randomColor = Color.rgb(r,g,b);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(Color.rgb(r,g,b) == getResources().getColor(R.color.white)){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;randomColor = getResources().getColor(R.color.red);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Set StarTime&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Calendar startTime = Calendar.getInstance();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startTime.set(Calendar.HOUR_OF_DAY, Hour);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startTime.set(Calendar.MINUTE, Minute);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startTime.set(Calendar.YEAR, year);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startTime.set(Calendar.MONTH, Month);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startTime.set(Calendar.DAY_OF_MONTH, Day);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Calendar endTime = (Calendar) startTime.clone();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; endTime.add(Calendar.HOUR_OF_DAY, endTimePeriod);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WeekViewEvent weekViewEvent = new WeekViewEvent(1, Name, startTime, endTime);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; weekViewEvent.setColor(randomColor);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myEvent.add(weekViewEvent);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; } catch (JSONException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; } catch (ParseException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp;return&nbsp; myEvent;&nbsp; &nbsp; }月数更改将如下所示&nbsp;mWeekView.setMonthChangeListener(new MonthLoader.MonthChangeListener() {&nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; public List<? extends WeekViewEvent> onMonthChange(int newYear, int newMonth) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List<WeekViewEvent> lastone = new ArrayList<WeekViewEvent> ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lastone = loadDateFromJson( newYear ,&nbsp; newMonth);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;events.addAll(lastone);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ArrayList<WeekViewEvent> matchedEvents = new ArrayList<WeekViewEvent>();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (WeekViewEvent event : events) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (eventMatches(event, newYear, newMonth)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; matchedEvents.add(event);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return matchedEvents;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; } );}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java