① 推荐5款高度自由的免费开源APP
高自由度的APP通常指的是那些允许用户深度自定义、性能高效、具备丰富功能并支持开源的软件应用。以下五款APP正是这类软件的代表,它们在android、iOS等平台上提供高度自由的操作空间,满足用户个性化需求。
1. CalendarView
CalendarView 是一款专为Android平台打造的高度自定义且性能高效的日历控件。它支持月视图、周视图、年视图,具备标记、自定义颜色、农历等功能,用户可以任意控制月视图显示、日期拦截条件以及自定义周起始。此外,它还提供UI定制功能,支持万能自定义UI、仿iOS设计、垂直或水平方向切换。更多详情请访问其GitHub主页。
2. Kodi
Kodi 是由XBMC基金会开发的开源媒体播放器,支持多平台,包括手机、PC、电视盒子等。这款软件不仅支持播放本地视频,还能够播放网络存储设备(NAS)、投屏、直播流、电视和播客等各类媒体源。对于初次使用,建议安装中文界面,具体操作步骤为:点击左上角设置图标,依次选择“Interface – Skin – Fonts – Arial base – Regional – Language – Chinese”。此外,Kodi还提供丰富的插件库,丰富用户体验。了解更多详情,请访问其官方网站。
3. Anki
Anki 是一款记忆神器,具有强大的智能闪存卡功能,支持图像、音频、视频和科学标记,通过间隔重复的方式帮助用户记忆知识点,同时根据遗忘曲线安排复习计划。此外,Anki支持导入各种类型的知识卡片,用户可以自己整理制作或使用他人提供的卡片组,适用于学习语言、地理知识、复习知识点等场景。访问官网或GitHub主页获取更多信息。
4. Termux
Termux 是一款专为Android设备设计的终端模拟器,支持常用的Linux命令,用户可以通过pkg命令安装更多工具,如编程语言、数据库、版本控制等。这使得手机能够瞬间变身成为便携式Linux计算机,满足远程连接服务、运行代码片段、编译代码等需求。初次使用时,需下载基础系统并使用apt软件包管理器安装所需软件包。欲了解更多详情,可访问下载地址或GitHub主页。
5. iSH
iSH 是一款针对iOS平台的Linux shell,与Termux功能类似,支持使用用户模式x86仿真和系统调用转换在iOS上运行Linux shell。这一特性使得iOS设备用户也能享受到Linux环境带来的便利。访问GitHub主页或官网获取更多信息。
② 使用android自带的日历控件怎么标记特定的
初始情况
3.这里还要感谢前辈的代码作为参考,毕竟以前也没有写过关于日历方面的东西,别人确实写得不错,我在原基础上加入了数据库操作等补充,以完成自己实际需求,作为尊重首先给出原作者的连接
就是这里–>Android自定义控件实现可多选课程日历CalendarView
4.然后贴出来关于数据库操作的代码,给大家作为参考
DatabaseHelper .java 这是关于简单数据库操作的部分
package com.xugongming38.editcalendar.utils;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/*** Created by dell on 2017/5/18.*/public class DatabaseHelper extends SQLiteOpenHelper {public static final String CREATE_DIARY = "create table Hair("+ "id integer primary key autoincrement, "+ "content text)";private Context mContext;public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version){super(context, name, factory, version);mContext = context;}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_DIARY);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("drop table if exists Hair");onCreate(db);}}DataHelper .java 简化数据操作接口,避免直接操作数据库,做了再一层的封装,建议读者也这样做,可以让代码更清晰,更容易复用
③ android日历控件
1.DatePicker
在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日。
1.1常用xml属性
DatePicker的常用xml属性如图1所示:
图1 DatePicker常用xml属性
其中,android:calendarViewShown[boolean]用于设置是否显示calendar view;android:endYear[int]用于设置截至日期;android:maxDate[int]用于设置最大的日期;android:minDate[int]用于设置最小的日期;android:spinnersShown[boolean]用于设置是否显示spinners;android:startYear[int]用于设置起始日期。
1.2常用方法
DatePicker的常用方法有以下一些:
(1)public CalendarView getCalendarView(); //获取CalendarView
(2)public boolean getCalendarViewShown(); //获取CalendarView是否显示
(3)public int getDayOfMonth(); //获取当前日期的日
(4)public long getMaxDate(); //获取最大日期
(5)public long getMinDate(); //获取最小日期
(6)public int getMonth(); //获取当前日期的月
(7)public boolean getSpinnersShown(); //获取Spinners是否显示
(8)public int getYear(); //获取当前日期的年
(9)public void init(int year,int monthOfYear,int dayOfMonth,
DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期
(10)public void setCalendarViewShown(boolean shown);//设置是否显示CalendarView
(11)public void setMaxDate(long maxDate); //设置最大日期
(12)public void setMinDate(long minDate); //设置最小日期
(13)public void setSpinnersShown(boolean shown); //设置是否显示Spinners
(14)public void updateDate(int year,int month,int dayOfMonth); //更新当前日期2.TimePicker
在Android中,TimePicker用来实现时间输入设置,可以选择12或24小时模式。TimePicker的常用方法有以下一些:
(1)public Integer getCurrentHour(); //获取当前时间的小时
(2)public Integer getCurrentMinute(); //获取当前时间的分钟
(3)public boolean is24HourView(); //获取是否为24小时模式
(4)public void setCurrentHour(Integer currentHour); //设置当前时间的小时
(5)public void setCurrentMinute(Integer currentMinute); //设置当前时间的分钟
(6)public void setIs24HourView(Boolean is24HourView); //设置24小时模式3.DatePickerDialog
在Android中,DatePickerDialog用来显示日期对话框。DatePickerDialog的常用方法有以下一些:
(1)public DatePicker getDatePicker(); //获取DatePicker中的日期值
(2)public void onClick(DialogInterface dialog,int which); //响应对话框中的点击事件
(3)public void onDateChanged(DatePicker view,int year,int month,int day); //响应日期改变事件
(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新当前日期4.TimePickerDialog
在Android中,TimePickerDialog用来显示时间对话框。TimePickerDialog的常用方法有以下一些:
(1)public void onClick(DialogInterface dialog,int which); //响应对话框中的点击事件
(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //响应时间改变事件
(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新当前时间5.AnalogClock
在Android中,AnalogClock用于显示指针式时钟,该时钟仅有时钟和分钟两个指针。6.DigitalClock
在Android中,DigitalClock用来显示数字式时钟,显示格式为HH:MM:SS AM/PM。