小编Ofe*_*mon的帖子

返回使用另一个异步函数的异步任务

我试图在使用异步功能的函数中返回Task paremeter并遇到麻烦.

这是我的代码:

 private async Task<int> GetIntAsync()
 {
   return Task<int>.Factory.StartNew(async () =>
   {
       await func();

       some code..

       return 123;
   });

 }
Run Code Online (Sandbox Code Playgroud)

我得到错误:"无法将异步lambda表达式转换为委托类型"..

有没有办法从新任务调用异步功能?

c# task async-await .net-4.5

3
推荐指数
1
解决办法
5178
查看次数

Service vs IntentService 在位置跟踪服务的情况下

我读到之间的差异ServiceIntentService

我读到的主要内容是IntentService有一个服务运行的Workerhtread

我需要一个服务,不管应用程序的活动/用户界面如何运行,并跟踪用户位置。

该服务将实现GoogleApiClient.ConnectionCallbacksGoogleApiClient.OnConnectionFailedListener并且LocationListener在运行时,将始终更新包含用户位置的表(直到停止)。

我应该使用Service还是IntentService

multithreading android location android-service android-intentservice

3
推荐指数
1
解决办法
454
查看次数

android - 加载图像的高度比实际图像大

我正在使用 AsyncTask 类从网络加载图像,并将其设置为我的代码中的图像视图。

// loading of the image into the ImageView
new DownloadImageTask(MyImageView).execute("ImageURL");
Run Code Online (Sandbox Code Playgroud)

问题是,每次加载图像时,它的高度都是不同的,即使 ImageView 的宽度和高度是 warp_content。我添加了一种带有背景和填充的边界线以查看它的实际高度。 这是xml

<ImageView
    android:id="@+id/ivBigRecipeImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_margin="5dp"
    android:layout_toRightOf="@+id/ingredientsTitle"
    android:background="#52D017"
    android:contentDescription="food"
    android:padding="1dp" />
Run Code Online (Sandbox Code Playgroud)

在这里是照片

有时会发生这种情况:

在此处输入图片说明

有时会发生这种情况:

在此处输入图片说明

有任何想法吗?我只想让它的实际大小

谢谢!

size android pixels imageview

2
推荐指数
1
解决办法
487
查看次数

django - DRF 中的登录视图

我的 Django 代码中有一个寄存器视图,它工作正常:

在 Django 休息框架中工作,

class UserViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer

    @list_route(methods=['post'])
    def register(self, request):
        serializer = UserSerializer(data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

现在我想添加一个登录视图以让用户登录,我写了这样的东西,不确定这个:

@list_route(methods=['post'])
    def login(self, request):
        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return Response(status=status.HTTP_200_OK)
            else:
                return Response(status=status.HTTP_404_NOT_FOUND)
        else:
            return Response(status=status.HTTP_401_UNAUTHORIZED)
Run Code Online (Sandbox Code Playgroud)

几个问题:

  • 看起来好吗?
  • 而且,我应该如何发布到这个视图?到我用 json 发布的注册视图,它工作正常。带有用户名和密码的 json 也可以在这里工作吗?

python django login django-rest-framework

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

android - 子活动完成时刷新父活动

我有一个父Activity,它启动了一个子活动.

在儿童活动中,我做:

toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Ride");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

当我单击Home/Up按钮时,我finish是活动.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        finish();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

此外,我finish还在Child Activity中的另一个地方,在我所拥有的两个地方finish,它都会回到Parent Activity.

我的问题:

我的问题是,我想刷新父活动只有在的情况下一个finishes.

当我没有从Up按钮完成结束时- Parent Activity中的数据发生了变化,所以 - 当我按Back/Up按钮时,不需要刷新Parent,但当我执行另一个时finish,我想刷新的家长.

我怎么能检测出来?

android parent-child android-activity up-navigation

2
推荐指数
1
解决办法
7279
查看次数

在c#中解析解析器

我在c#中寻找一个可以解析sip包的库或类.我需要的功能可以帮助我从数据包中获取Call-ID字段,请求类型,并基本将sip数据包分解到其字段.

有人知道可以帮助我的东西吗?谢谢,ofek

c# parsing voip sip

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

django-下载并安装django rest框架

我是django的初学者,并且在官方网站上做了基本教程。

我想学习django rest框架,我发现这里还有一个很好的教程-http: //www.django-rest-framework.org/#requirements

我无法弄清的一件事-如何安装框架和其他必要的东西?我正在离线工作,因此我需要手动下载所有库/软件包并进行安装。(不能使用pip install和github clone)

为了使用django rest框架,我需要下载什么以及如何安装它的解释将是非常感谢的:)

提前致谢

python django pip django-rest-framework

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

django rest框架-在不更改现有代码的情况下扩展auth.user

我正在django rest框架中工作,并构建一个RESTful api从Android应用程序访问。

我想扩展用户模型并添加电话号码字段-但我有带有外键的模型到用户模型以及基于令牌的身份验证。

例如:

class Ride(models.Model):
    driver = models.ForeignKey('auth.User')
    destination=models.ForeignKey(Destination)
Run Code Online (Sandbox Code Playgroud)

显然我有默认的用户表,正如我所说的-令牌身份验证-(在注册时生成令牌,然后客户端登录 -发送用户名:密码并获得令牌登录)。

我的问题是:

如何在最小代码/模型/视图更改的情况下以最佳方式向用户添加此字段?我读了很多有关此主题的答案,只是想使用最佳选择。

------------编辑--------------

添加UserProfile之后,我在创建用户时遇到了麻烦,下面是代码:

serializers.py:

class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ('id', 'username', 'first_name', 'last_name', 'password', )
        extra_kwargs = {'password': {'write_only': True}}

    def create(self, validated_data):
        user = User(
            first_name=validated_data['first_name'],
            username=validated_data['username'],
            last_name=validated_data['last_name']
        )

        user.set_password(validated_data['password'])
        user.save()
        user.UserProfile.phone_number = self.initial_data["phone_number"]
        return user
Run Code Online (Sandbox Code Playgroud)

型号

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    phone_number = models.CharField(max_length=15)

@receiver(post_save, sender=User)
def …
Run Code Online (Sandbox Code Playgroud)

django foreign-keys extending django-rest-framework

0
推荐指数
1
解决办法
721
查看次数