小编Ofe*_*mon的帖子

Dagger 2 - two提供了提供相同接口的方法

让我说我有:

public interface Shape  {}


public class Rectangle implements Shape {

}

public class Circle implements Shape {

}
Run Code Online (Sandbox Code Playgroud)

我有一个ApplicationModule,它需要为RecCircle提供实例:

@Module
public class ApplicationModule {
    private Shape rec;
    private Shape circle;

    public ApplicationModule() {
        rec = new Rectangle();
        circle= new Circle ();
    }

    @Provides
    public Shape provideRectangle() {
        return rec ;
    }

    @Provides
    public Shape provideCircle() {
        return circle;
    }
}
Run Code Online (Sandbox Code Playgroud)

ApplicationComponent:

@Component(modules = ApplicationModule.class)
public interface ApplicationComponent {
    Shape provideRectangle();
} …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection dagger dagger-2

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

使用Dagger 2注入服务

我有一个应用程序,它基本上是一个一直运行的服务,并在发生事件时向用户发出警报.

当服务创建警报时,它需要将其发送给警报,context以便警报可以在发生事件时对服务进行回调.

例如:

public MyService extends Service{
    private SomeAlarm alarm;

    @Override
    public void onCreate() {
        super.onCreate();
        alarm = new SomeAlarm(MyService.this);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将SomeAlarm类注入服务,并将SomeAlarm服务上下文作为变量?

android dependency-injection inversion-of-control android-service dagger-2

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

django rest framework - 令牌认证注销

我已经根据django rest框架Docs实现了令牌认证.

从我读到的形式来看,DRF的令牌认证非常简单 - 每个用户一个令牌,令牌不会过期并且始终有效(我是对的吗?).

我知道有更好的做法,但是现在DRF令牌认证对我来说很好.

我的问题是 -使用普通DRF令牌身份验证注销的最佳做法什么?

我的意思是,当用户注销时,我应该从客户端删除令牌吗?然后登录再次获取令牌?我应该删除令牌并生成一个新令牌吗?

有经验的人吗?

login token logout django-rest-framework http-token-authentication

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

实现使用的常量字符串的最佳实践

说我有一个界面:

public interface IFeature
{
    Task execFeature();
}
Run Code Online (Sandbox Code Playgroud)

和两个实现:

public class FirstFeature : IFeature
{
    private IWebApi webApi;
    public FirstFeature(IWebApi webApi)
    {
        this.webApi = webApi;
    }

    public async Task execFeature()
    {
        string response = await webApi.getClassName();
        IResult result;
        if(response==null)
            result = new TextResult("Error accessing api - check internet connection/api address");
        else
            result = new TextResult("Hello dear user – the selected class name is " + response);
        result.display();
    }
}

public class SecondFeature : IFeature
{
    private IWebApi webApi;
    public SecondFeature(IWebApi …
Run Code Online (Sandbox Code Playgroud)

c# oop string design-patterns interface

21
推荐指数
3
解决办法
2万
查看次数

使用django和GCM推送通知

我有一个Android客户端应用程序,我的服务器在django.

例如,我想在服务器中实现推送通知,以便在发生与其相关的数据发生变化时通知特定用户.

我找到了这些链接:

不确定我需要哪个链接以及什么链接.

我想要的一个例子是:

用户向服务器发出请求并更改数据,服务器向另一个用户发送推送通知.

那么我应该安装什么包?也许任何教程要遵循?我正在寻找任何帮助我的信息.

非常感谢!

---编辑----

所以我按照e4c5的建议做了,我有一个包含设备ID和用户的表.

我在安装应用程序时将设备注册到GCM.我还将Device_id添加到我的数据库中的表(目前用户字段null),并将Device_id保存在我的客户端应用程序中.

现在,当用户登录时,我向我的服务器发送请求,该请求将登录用户与设备ID耦合.

当用户注销时 - null再次显示用户字段.

问题是 - 如果UserA当前已注销(不在我的数据库中)但应该收到通知 - 我的服务器将查看数据库 - >设备ID表,并且在任何用户字段中都找不到userA(因为他是目前已退出).

结果 - 通知将丢失(我的服务器不会将其发送到GCM).

最好的情况是,当用户再次登录时,他将获得在他退出时发送给他的所有通知.

我怎样才能做到这一点?

谢谢!

django android push-notification google-cloud-messaging server

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

django rest framework - 使用detail_route和detail_list

在我的代码中,我有一个用户的视图集.我想只允许ReadOnlyModelViewSet做的Read操作(/ users/42/ users /).

另外,我希望有一个/ users/register URL我可以POST到以注册新用户.

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

    @list_route(methods=['post'])
    def register(request):
        serializer = UserSerializer(data=request.DATA)
        if serializer.is_valid():
            user = User.objects.create_user(
                username = serializer.init_data['username'],
                password = serializer.init_data['password'],
            )

            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_routedetail_route装饰器中,是否有方法的特定签名?因为在detail_route示例中,它始终与方法的签名相同:method_name(self,request,pk = None):

谢谢!

python django routing django-rest-framework

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

.dll文件无法访问

我想在我的项目中添加一个dll.当我"添加引用"并尝试添加它时,它告诉我:

"无法添加对...的引用.请确保该文件可访问,并且它是有效的程序集或COM组件".

顺便说一下,我正在尝试添加g729.dll

我该如何添加dll?

.net c# dll reference file

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

python PIL - 检查图像是否透明

我正在将图像粘贴到另一个图像上,在查看问题后,我看到为了粘贴透明图像,您需要执行

background = Image.open("test1.png")
foreground = Image.open("test2.png")

background.paste(foreground, (0, 0), foreground)
Run Code Online (Sandbox Code Playgroud)

使用正常图像,您应该这样做

background = Image.open("test1.png")
foreground = Image.open("test2.png")

background.paste(foreground, (0, 0)) // difference here
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何检查图像是否透明,以便确定如何使用该paste方法(有或没有最后一个参数)。

python transparency image python-imaging-library

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

django rest framework - 添加到views.obtain_auth_token

我用django rest框架实现了令牌认证,我可以发布用户名和密码/api-token-auth/并获取令牌.

url(r'^api-token-auth/', token_views.obtain_auth_token)
Run Code Online (Sandbox Code Playgroud)

除了令牌,我想获得User与返回的令牌相关的对象.

如何覆盖/添加到此视图并返回实际的User对象?

overriding view django-rest-framework http-token-authentication

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

django-在ManyToMany和ForeignKey中使用related_name

我有两个模型(也使用auth.user)。在auth.user换乘模型之间有两个关系,以及换乘模型和目标模型之间有两种关系。

旅程有许多中间目的地和一个最终目的地。骑行有很多乘客和一名司机。

class Destination(models.Model):
    name=models.CharField(max_length=30)

class Ride(models.Model):
    driver = models.ForeignKey('auth.User', related_name='rides_as_driver')
    destination=models.ForeignKey(Destination)
    leaving_time=models.DateTimeField()
    num_of_spots=models.IntegerField()
    passengers=models.ManyToManyField('auth.User', related_name="rides_as_passenger")
    mid_destinations=models.ManyToManyField(Destination)
Run Code Online (Sandbox Code Playgroud)

我试图完全理解related_name属性的含义。我读了很多关于它的内容,但仍然不确定...

我还读到,如果我与模型之间有两个关系,则必须使用related_name。

有人可以向我解释:

  • related_name属性到底是什么?什么时候使用?
  • 我将在何时何地使用rides_as_driver和rides_as_passenger?
  • 我应该在“目的地”字段中填写什么?(中间目的地和最终目的地)?

非常感谢!

python django many-to-many foreign-keys

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