小编erl*_*man的帖子

Flutter:Moor 和 floor ORM 之间的区别

所以我一直在为 Flutter 寻找一些 ORM,我找到了两个候选对象MoorFloor.

似乎Moor 有一个更活跃的存储库,但是当我来自 Android 世界时,Floor 似乎更类似于 我曾经喜欢的Room

目前,我赞成使用 Floor,在生产中使用它之前是否有任何我应该注意的隐藏问题

sqlite dart flutter flutter-moor

7
推荐指数
2
解决办法
4406
查看次数

在android中删除Realm中的单个对象数据/行

我添加了单个用户的数据像这样:

Realm realm = Realm.getDefaultInstance();
newUser = new UserDatabase();

realm.executeTransaction(new Realm.Transaction() {

  public void execute(Realm realm) {
     newUser.setClassName(classSectionName);
     newUser.setClassNO(classNO);
     newUser.setImageUrl(imageUrl);
     newUser.setRollNo(rollNO);
     newUser.setSchool(school);              

  // and now saved the data in peresistant data like this:
  realm.copyToRealm(newUser);
  }
});
Run Code Online (Sandbox Code Playgroud)

但我无法找到从Realm数据库中删除单个条目的方法,即使我尝试这样,它也无法正常工作.

Realm realm = Realm.getDefaultInstance();
UserDatabase tempUser = new UserDatabase();
final RealmResults<UserDatabase> students = realm.where(UserDatabase.class).findAll();

  for(int i=0 ;  i<students.size();i++){
     final int index =i;
     if((students.get(i).getUserID()).equals(prefs.getString(QRActivity.USER_ID_AFTER_LOGIN,"jpt"))&&
     (students.get(i).getUserName()).equals(prefs.getString(QRActivity.USER_NAME_AFTER_LOGIN,"jpt"))){

        realm.executeTransaction(new Realm.Transaction() {

            public void execute(Realm realm) {

             //Trying to delete a row from realm.                                   

             students.deleteFromRealm(index);

             }
            });

    } …
Run Code Online (Sandbox Code Playgroud)

database android realm delete-row

6
推荐指数
1
解决办法
9943
查看次数

滚动RecyclerView滚动到始终位于顶部

我正在使用线性布局管理器,并RecyclerView使用a LinearLayout Manager来填充一些项目列表.当我recyclerview第一次显示并使用时:

linearLayoutManager.scrollToPosition(desiredindex);
Run Code Online (Sandbox Code Playgroud)

它滚动到我喜欢的顶部:

现在这里是棘手的部分,

当我滚动到顶部recyclerview(即新项目索引将低于desiredindex)并且我打电话:

linearLayoutManager.scrollToPosition(desiredindex);
Run Code Online (Sandbox Code Playgroud)

它仍然可以正常工作.

但是当recyclerview已滚动超出desiredindex,recycler view滚动使得desiredindex项目涉及到底部,而不是顶部.

但我希望瓷砖滚动到顶部而不是底部:

android scrolltop android-linearlayout android-recyclerview

6
推荐指数
1
解决办法
9353
查看次数

Spring-Boot,无法使用spring-data JPA在MySql中保存Unicode字符串

我有这样的 application.properties设置:

spring.datasource.username = root
spring.datasource.password = root
spring.datasource.url = jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
Run Code Online (Sandbox Code Playgroud)

在我的pom.xml财产中,我像这样设置:

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <start-class>toyanathapi.Application</start-class>
        <java.version>1.8</java.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

我的实体:@Entity公共类DailyRashifalEntity {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String date;
private int rollno;
private String name;
//Constructors and getters/setters 
}
Run Code Online (Sandbox Code Playgroud)

问题1: 如果我使用上述设置,则会出现异常

java.sql.SQLException: Incorrect string value: '\xE0\xA4\xA7\xE0\xA4\xBE...
Run Code Online (Sandbox Code Playgroud)

问题2:如果我将数据源URL更改为此:

spring.datasource.url = jdbc:mysql://localhost:3306/dbname
Run Code Online (Sandbox Code Playgroud)

我数据库中的unicode像这样保存

 29 | 2074-03-04 |        3 | ?????????????? ?????,?????? ??????, ??????????? ????? ? ???? ???? …
Run Code Online (Sandbox Code Playgroud)

mysql unicode spring spring-jdbc spring-boot

6
推荐指数
2
解决办法
4320
查看次数

来自 xcode 可视化编辑器的 UILabel 中的大写文本

我是 iOS 初学者。我发现有一些方法可以使文本变粗,并从可视化编辑器更改字体和字体大小等。但是有什么方法可以从可视化编辑器 (STORYBOARD, NOT CODE)设置 UILabel文本全部大写。我搜索但只找到了基于代码(Swift/Objective C)的答案,如下所示:

testDisplayLabel.text = testDisplayLabel.text.uppercased()
Run Code Online (Sandbox Code Playgroud)

xcode uilabel ios

6
推荐指数
2
解决办法
3321
查看次数

获取 Mapbox 中 geogson 特征的坐标

GeoJson 功能如下所示:

{
  "type": "Feature",
  "properties": {},
  "geometry": {
    "type": "Point",
    "coordinates": [
      43.59375,
      59.17592824927136
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

Mapbox使用 Java/JVM 时,我们可以构建这样的特性:

val testFeature = Feature.fromGeometry(Point.fromLngLat(2.0,3.0))
Run Code Online (Sandbox Code Playgroud)

但我似乎没有找到从特征中获取坐标/点的方法。

有一个Feature#getGeometry()但我无法从中获取坐标,因为这只是 GeoJson 界面本身的一个糖。

java android geojson mapbox mapbox-android

6
推荐指数
1
解决办法
1590
查看次数

kotlinx.serialization:如何解析为与 JSON 键的确切名称不同的变量名称

使用 GSON,我们过去常常@SerializedName解析 JSON 对象,该对象与 Kotlin 中的变量名没有相同的键。

data class User (
    @SerializedName("id")
    long userId;
    @SerializedName("fullName")
    String name;
)
Run Code Online (Sandbox Code Playgroud)

kotlinx.serialization我们可以序列化这样的,但如何让在不同的JSON关键,varaible对象(德)序列化

@Serializable
data class User (
    long userId;
    String name;
)
Run Code Online (Sandbox Code Playgroud)

android json gson kotlin kotlinx.serialization

6
推荐指数
2
解决办法
2488
查看次数

创建Activity是否比创建片段更快?

我有一个布局Fragment的创建过程中,显示有关产品,但遗憾的是资料,fragment一点滞后(毛刺)约50毫秒(这是我猜的滞后如何记录是这是一个很大的刷新率(Android版) 16毫秒),但是当我Activity 直接使用相同的布局并应用相同的逻辑时,它看起来和感觉都很平滑。

这种情况有什么特殊原因吗?有什么方法可以使片段在创建过程中看起来像活动一样平滑吗?

您可以测试一些复杂的布局,然后尝试将其作为片段的视图充气,并与活动的布局内容相同。

这是我的oncreate在片段和活动中的样子:

@Override
public void onCreate ( Bundle savedInstanceState ) {  // or equivalent  override for fragment.
    super.onCreate ( savedInstanceState );
    setContentView ( R.layout.fragment_product_profile );
    initLayout ();
    loadData ();
    initCustomMadeImageSlider ();
    autoScrollViewPager ();
}
Run Code Online (Sandbox Code Playgroud)

这是关于UI的一般想法

android android-layout android-fragments layout-inflater android-activity

5
推荐指数
1
解决办法
1062
查看次数

无法从另一个模块调用方法:Android studio

我在android studio中有两个模块

  1. 标准的Android 应用模块
  2. 域模块

域模块已添加到settings.gradlebuild.gradle

include ':mobile', ':domain'& compile project(':domain')分别是这样

在域模块中我有一个这样的类:

public class DomainUtils {

    Context mContex;
    public DomainUtils(Context context){
        this.mContex = context;
    }
    public  void toast(String string){
        Toast.makeText(mContex, string,Toast.LENGTH_LONG).show();
    }
    public String returnHi(){
        return "hi";
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我试着打电话的时候 new DomainUtils(context).toast("hi");

App模块中的一个类:

  1. DomainUtils中的方法不会执行
  2. 程序流程不会继续到调用类的下一行(程序流程停止"
  3. 我没有在logcat中看到任何错误日志.

------------ 但是 ----------

当我运行该方法returnHi()它工作正常.

android android-module

5
推荐指数
2
解决办法
5664
查看次数

pagedList 失效后 PagedList RecyclerView 跳转

设置 :

我们正在使用PagedListEpoxyController, RxPagedListBuilder,ItemKeyedDataSource和一个运行时Mockgenerator,它只根据生成的数据索引创建一个用户,例如。用户 1、用户 100、用户 500

分页配置是:

val pageSize = 50
val initialLoadSizeHint = 80
val prefetchDistance = 16
Run Code Online (Sandbox Code Playgroud)

预期行为

每当我们向下滚动到400 个项目并返回到第300 个项目并通过单击“关注/取消关注使列表无效时,UI 就会跳转。单击按钮时,PagedList 会像这样失效:

在此处输入图片说明

followers.dataSource.invalidate()

loadInitial()insideItemKeyedDataSource应该使用 的值调用,params.key以便我们可以重新显示之前显示的相同页面。例如,如果user300在屏幕中可见,则该项目requestedInitialKey应在[user221,user280] 范围内

问题出在哪里?

last item that was fetched in the pagedList失效前的分页库轨道but does not提供了一种方法来知道哪个 …

android android-recyclerview android-jetpack android-paging epoxy

5
推荐指数
1
解决办法
789
查看次数